原型链
Javascript引擎的追踪方式是依据原型链
obj.xxx
1.先在当前对象上查找 2.(找不到)追踪到object.prototype上查找 3.(找不到)返回undedefine prototype:原型
如创建一个数组
var arr = [1, 2, 3];
arr ---> arr.prototype ---> Object.prototype ---> null
function a(x) { return x}a ---> Function.prototype ---> Object.prototype --->null
- 当上一级定义了如indexof()方法,其子对象皆可以使用。
构造函数
通过函数用new
构造一个对象称之为构造函数,如果没有用new
构造一个函数则称之为普通函数
function Student(name) { this.name = name; this.showname = () => { alert("my name is "+ name); }}var xiaoming = new Student('xiaoming');xiaoming.showname();
xiaoming ---> Student.prototype ---> Object.prototype ---> null