Javascript基本概念梳理
javascript里的数据类型:
包装对象的概念:原始类型:数字,字符串,布尔值。(原始值:null,undefined)
对象类型:键值对,数组,function,全局对象(MATH,JSON)
字符串"aaa".len 字符串并不是对象,但是却可以调用它的属性,说明这只是一个临时对象,内部用new String()来创建的临时的。
原始类型是永远不可变的,所以可以比较他们的值,但是对象类型是可变的,不能比较他们的值.
Javascript原型和继承:
Javascript里每个对象都和另外一个对象关联,这个对象就是__proto__(原型对象)注意这里的原型对象并不是prototype。
解释一下:这里的prototype指的是通过关键字new和构造函数调用创建的对象的原型就是构造函数的prototype属性。
对象实例的__proto__指向这个对象的prototype,而对象的__proto__为空。举个例子就是:
var array = new Array(); array.__proto__ === Array.prororype //true Array.__proro //null
当然,也可以使用Object.getPrototypeOf()替代__proto__来使用来得到对象所继承的原型,举例说明:
Object.getPrototypeOf(Array) === Array.__proto__;
Object.getPrototypeOf()来查看原型继承,例如:
Object.getPrototypeOf(Array.prototype) // Object
可以看出Array的prototype继承Object所以Array也有他的方法例如totring()等。可以得到所有的对象都有一个共同的原型,就是Object但是Object只是一个构造函数,想要访问他,就只用Object..prototype来得到。
例如,Object..getPrototypeOf()来查看自定义的继承
function A(){}; function B(){}; A.prototype = new B(); Object.getPrototypeOf(A.prototype) //B
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。