首先是一张关系图,避免抽象化理解时产生的困难 Function对象 函数对象是JavaScript学习中不可避免的一部分,而且这一部分相对重要且抽象 函数的创建方式有2种: 字面量创建 var foo = function(){ console.log("test"); } new 关键字创建实例对 ...
分类:
编程语言 时间:
2019-03-23 00:20:59
阅读次数:
215
原型链 概念 原型链是一种机制,指的是JavaScript每个对象包括原型对象都有一个内置的[[proto]]属性指向创建它的函数对象的原型对象,即prototype属性。 作用 原型链的存在,主要是为了实现对象的继承。 理解 要理解原型链,需要从几个概念入手。 1、函数对象 在JavaScript ...
分类:
其他好文 时间:
2019-03-22 09:17:27
阅读次数:
126
typeof bar=='object' 不能确切判断数据是一个‘纯粹’的对象 Array null的结果都是object 比较好的方法是: Object.prototype.toString.call(bar)=='[object Object]'; 使用以上方法可以很好的区分各种类型: toSt ...
分类:
其他好文 时间:
2019-03-20 17:30:34
阅读次数:
131
原型链 原型链 引入从Object和Function开始 Object和Function都作为JS的自带函数,Object继承自己,Funtion继承自己,Object和Function互相是继承对方,也就是说Object和Function都既是函数也是对象。 12 console.log(Func ...
分类:
其他好文 时间:
2019-03-17 13:55:58
阅读次数:
168
1.以复制方式实现的继承 1.1浅拷贝 基本类型的复制 以上代码中,通过一个extend()函数,将父对象parent的属性遍历赋给子对象child,从而实现继承。 但是这种字面量复制的方式存在巨大的缺陷,当父对象有引用类型的属性时,通过这么复制的方式,就像上一节中的var b = a一样,只会将a ...
分类:
Web程序 时间:
2019-03-13 00:12:03
阅读次数:
230
这两者都可以通过 来返回一个数组。 伪数组 首先先得清楚对象和数组的差别: 1. 对象的原型链上只有Object.prototype,而数组的原型链上有Array.prototype和Object.prototype 2. 对象没有length属性,数组有,且自动更新 3. 对象根据键值对取值,而数 ...
分类:
编程语言 时间:
2019-03-11 13:44:12
阅读次数:
207
一、在js中创建对象的方式 //测试 var obj = new Obj(); console.log(obj instanceof Obj); console.log(typeof obj); console.dir(obj); //测试 var obj = new Obj(); console. ...
分类:
Web程序 时间:
2019-03-10 13:42:22
阅读次数:
267
https://www.cnblogs.com/my-blog-yu/p/6627639.html https://blog.csdn.net/u010298576/article/details/86165783 from:https://www.cnblogs.com/sarahwang/p/6 ...
分类:
其他好文 时间:
2019-03-08 09:54:00
阅读次数:
149
prototype :每个函数都会有这个属性,这里强调,是函数,普通对象是没有这个属性的(这里为什么说普通对象呢,因为JS里面,一切皆为对象,所以这里的普通对象不包括函数对象)。它是构造函数的原型对象; __proto__ :每个对象都有这个属性,,这里强调,是对象,同样,因为函数也是对象,所以函数 ...
分类:
编程语言 时间:
2019-03-07 15:47:41
阅读次数:
190
JavaScript 的几种继承方式 原型链继承 构造函数继承 组合继承 (伪经典继承) 原型式继承 寄生式继承 寄生组合式继承 ES6 extends 继承 1, 原型链继承 原理是将父对象的属性和方法通过prototype进行引用 缺点: 实例对象的属性被共享 无法向父类的方法传递参数 2, 构 ...
分类:
编程语言 时间:
2019-03-07 00:55:02
阅读次数:
191