js总结(三):面向对象,prototype ,oo模拟
2014-10-07 22:43
591 查看
http://aralejs.org/class/docs/competitors.html
http://javascript.crockford.com/prototypal.html
prototype
prototype属性的值实际就是Object对象的实例,js将忽视任何设置为原始值的prototype属性。
protoype拥有Object()对象实例属性和方法,prototype 包含了2个属性,一个是constructor ,另外一个是__proto__。
这个就是object的实例属性.
原型链,实际返回的是链中找到的第一个结果。
用新对象替换prototype属性会删除默认的constructor属性。new 创建的实例的constructor指向的是Object()了,而不是他的构造函数了。
实例的constructor是靠prototype。
function Object() { [native code] }
true
instanceof与constructor没有关系了
Here is another formulation:
2007-04-02
The problem with the
So I now prefer this formulation:
2008-04-07
jquery对象如何构建 http://nuysoft.iteye.com/blog/1182087 http://www.cnblogs.com/baochuan/archive/2012/11/22/2782343.html
http://javascript.crockford.com/prototypal.html
prototype
prototype属性的值实际就是Object对象的实例,js将忽视任何设置为原始值的prototype属性。
protoype拥有Object()对象实例属性和方法,prototype 包含了2个属性,一个是constructor ,另外一个是__proto__。
这个就是object的实例属性.
原型链,实际返回的是链中找到的第一个结果。
用新对象替换prototype属性会删除默认的constructor属性。new 创建的实例的constructor指向的是Object()了,而不是他的构造函数了。
实例的constructor是靠prototype。
var A =function(){ var b =1; } A.prototype = {}; var a = new A; console.log(a.constructor); console.log(a instanceof A);//true了
function Object() { [native code] }
true
var A =function(){ var b =1; } A.prototype = {}; var a = function(){}; a.constructor = A; console.log(a instanceof A);//false
instanceof与constructor没有关系了
Here is another formulation:
Object.prototype.begetObject = function () { function F() {} F.prototype = this; return new F(); }; newObject = oldObject.begetObject();
2007-04-02
The problem with the
objectfunction is that it is global, and globals are clearly problematic. The problem with
Object.prototype.begetObjectis that it trips up incompetent programs, and it can produce unexpected results when
begetObjectis overridden.
So I now prefer this formulation:
if (typeof Object.create !== 'function') { Object.create = function (o) { function F() {} F.prototype = o; return new F(); }; } newObject = Object.create(oldObject);
2008-04-07
jquery对象如何构建 http://nuysoft.iteye.com/blog/1182087 http://www.cnblogs.com/baochuan/archive/2012/11/22/2782343.html
相关文章推荐
- js面向对象总结
- JS面向对象(智能社面向对象知识点总结)
- prototype.js 让你更深入的了解javascript的面向对象特性(转)
- js的面向对象总结
- 深入理解js面向对象中的prototype
- JS 面向对象实例 prototype
- js面向对象中的prototype深入理解
- JS面向对象(智能社面向对象知识点总结)
- JS面向对像编程四—— prototype 对象
- js面向对象总结
- js面向对象学习总结
- JS面向对象总结
- js面向对象总结
- js面向对象工作总结
- js面向对象总结(一)
- JS高级 - 面向对象2(prototype定义)
- JS面向对像编程四—— prototype 对象
- 深入理解js面向对象中的prototype
- JS面向对象、prototype、call()、apply()
- JS 面向对象实现 学习总结