上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 58 下一页
摘要: function Foo(name) { this.name = name; } Foo.prototype.myName = function () { return this.name; } var a = new Foo('a'); a.myName(); // 'a' JS 中太多模拟类的行 阅读全文
posted @ 2020-04-16 06:52 wzndkj 阅读(129) 评论(0) 推荐(0) 编辑
摘要: function Foo(name) { this.name = name; } Foo.prototype.myName = function () { return this.name; } var a = new Foo('a'); var b = new Foo('b'); a.myName 阅读全文
posted @ 2020-04-15 06:48 wzndkj 阅读(123) 评论(0) 推荐(0) 编辑
摘要: function Foo() { // ... } var a = new Foo(); 是什么让我们认为 Foo 是一个类,Foo() 是构造函数调用。其中一个原因是我们看到了关键字 new。 除了令人迷惑的构造函数语义外,Foo.prototype 还有另一个绝招 function Foo() 阅读全文
posted @ 2020-04-14 06:34 wzndkj 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 在 JS 中,我们并不会将一个对象(类)复制到另一个对象(实例),只是将它们关联起来,[[Prototype]] 机制如下图所示 这个机制通常被称为 原型继承,这个名称主要是为了对应面向类的世界中继承的意义,但是推翻了动态脚本中对应的语义 继承这个词会让人产生非常强的心理预期。仅仅在前面加个原型并不 阅读全文
posted @ 2020-04-13 06:39 wzndkj 阅读(246) 评论(0) 推荐(0) 编辑
摘要: JS 中有一个奇怪的行为一直被无耻的滥用,那就是模仿类。这种行为利用了函数的一种特殊特性:所有的函数默认都会拥有一个名为 prototype 的公有并且不可枚举的属性 function Foo() { // ... } Foo.prototype; // {} Foo.prototype 会指向一个 阅读全文
posted @ 2020-04-12 16:35 wzndkj 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 哪里是 [[Prototype]] 的尽头呢?所有普通的 [[Prototype]] 链最终都会指向内置的 Object.prototype。它包含了 JS 许多通用的功能,比如 .toString() .valueOf() .hasOwnProperty() .isPrototypeOf() 给一 阅读全文
posted @ 2020-04-10 06:49 wzndkj 阅读(481) 评论(0) 推荐(0) 编辑
摘要: JS中的对象有一个特殊的 [[Prototype]] 内置属性,其实就是对于其他对象的引用。几乎所有的对象在创建时,[[Prototype]] 属性都会被赋予一个非空的值。 var myObject = { a:2 } myObject.a; [[Prototype]] 引用有什么用呢?比如当你试图 阅读全文
posted @ 2020-04-09 06:49 wzndkj 阅读(180) 评论(0) 推荐(0) 编辑
摘要: ① 什么是类,描述了一种代码的组织结构,一种在软件中对真实世界中问题领域的建模方法 ② // 非常简单的 mixin() 例子 function mixin(sourceObj, targetObj) { for (var key in sourceObj) { // 只会在不存在的情况下复制 if 阅读全文
posted @ 2020-04-08 06:30 wzndkj 阅读(699) 评论(0) 推荐(0) 编辑
摘要: var Something = { cool: function () { this.greeting = 'Hello World'; this.count = this.count ? this.count + 1 : 1; } } Something.cool(); Something.gre 阅读全文
posted @ 2020-04-07 06:26 wzndkj 阅读(141) 评论(0) 推荐(0) 编辑
摘要: JS 的对象机制并不会自动执行复制行为,由于其他语言中表现出来的复制行为,因此 JS 开发者也想出了一个方式来模拟类的复制行为,这个方法就是混入。我们先看第一种,显式混入。 // 非常简单的 mixin() 例子 function mixin(sourceObj, targetObj) { for 阅读全文
posted @ 2020-04-06 11:10 wzndkj 阅读(408) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 58 下一页