We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
/**
原型和原型链
参考王福朋博客
http://www.cnblogs.com/wangfupeng1988/tag/%E5%8E%9F%E5%9E%8B/ */ 一: 略 二: 函数和对象的关系
函数是对象的一种,对象都是函数创建的。eg:
function Employee(name,job,born) { this.name=name; this.job=job; this.born=born; } var bill=new Employee("Bill Gates","Engineer",1985);
三:prototype 原型 原型和函数的关系已经在开篇已经交代了
四:proto 隐式原型 每个对象都有一个隐式的属性,但是有些浏览器是不会让你发现的
文字版: 每个对象都有一个__proto__属性,指向创建该对象的函数的prototype。 eg: bill.__proto__ === Employee.protitype //true eg: var obj={} obj.__proto__ === Object.prototype //true Object.prototype.__proto__ === null //true 最终的__proto__ 都要指向 Object.prototype(考虑Object.prototype.__proto__) 函数是特殊的对象,他当然也是有__proto__ Object.__proto__ === Functon.prototype
五: instanceof 运算 Instanceof运算符的第一个变量是一个对象,暂时称为A;第二个变量一般是一个函数,暂时称为B。 运算规则:沿着A的__proto__ 这条线来找,同时沿着B 的prototype 这条线来找,如果两条线能同 时找到同一个对象,那么就返回true,如果找到终点还没有找到,则返回false console.log(Object instanceof Function) //true console.log(Function instanceof Object) //true console.log(Function instanceof Function) //true console.log(Object instanceof Object) //true
instanceof表示的就是一种继承关系,或者原型链的结构。
六: 继承 javescript中的继承是通过原型链来体现的: 访问一个对象的属性时,先在基本属性中查找,如果没有,再沿着__proto__这条链向上找,这就是原型链。
由于所有的对象的原型链都会找到Object.prototype,因此所有的对象都会有Object.prototype的方法。这就是所谓的“继承”。
七:
The text was updated successfully, but these errors were encountered:
No branches or pull requests
/**
原型和原型链
参考王福朋博客
http://www.cnblogs.com/wangfupeng1988/tag/%E5%8E%9F%E5%9E%8B/
*/
一: 略
二: 函数和对象的关系
函数是对象的一种,对象都是函数创建的。eg:
三:prototype 原型
原型和函数的关系已经在开篇已经交代了
四:proto 隐式原型
每个对象都有一个隐式的属性,但是有些浏览器是不会让你发现的
五: instanceof 运算
Instanceof运算符的第一个变量是一个对象,暂时称为A;第二个变量一般是一个函数,暂时称为B。
运算规则:沿着A的__proto__ 这条线来找,同时沿着B 的prototype 这条线来找,如果两条线能同
时找到同一个对象,那么就返回true,如果找到终点还没有找到,则返回false
console.log(Object instanceof Function) //true
console.log(Function instanceof Object) //true
console.log(Function instanceof Function) //true
console.log(Object instanceof Object) //true
六: 继承
javescript中的继承是通过原型链来体现的:
访问一个对象的属性时,先在基本属性中查找,如果没有,再沿着__proto__这条链向上找,这就是原型链。
七:
The text was updated successfully, but these errors were encountered: