首页 > 代码库 > Javascript基本概念梳理

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