JavaScript 的原型详解

JavaScript   2012-09-24 23:15:28 发布
您的评价:
     
0.0
收藏     0收藏
文件夹
标签
(多个标签用逗号分隔)
简单描述js原型         原型提供了一群同类对象共享属性和方法的机制对象继承原型的所有属性和方法(函数)。说白了js是使用原型来实现类继承的。 充分理解prototype / __proto__         初学者确实在这两个属性上是不容易分辨清楚地。所以,一个搞前端的朋友说,这两个属性完全搞明白了,那js原型也就差不多理解透彻了。那我尝试阐述一下这两个属性(龙8国际娱乐官方老虎机总结自他人的结晶和js文档)。 JavaScript 的原型详解         prototypeprototype是函数的属性,它应用的场合是函数被用作构造函数时,如果你想让子类拥有某型特性,那我们可以直接操作父类(总是感觉父函数贴切)的这个prototype所以在js的继承中prototype是父类构造函数的一个属性,这个属性指向被构造函数创建的对象(一定要注意prototype是函数的属性,而不是对象的)         __proto__:在创建对象的过程中__proto__属性会指向构建这个对象的函数的prototype属性。Egvar a = new Function(); a.__proto__ === Function.prototype__proto__是所有的对象都拥有的属性,但是这个属性被废弃不提倡使用了。         实例一:
var A = function () { this .name = "a" ; } var B = {} console.log(A.prototype); console.log(B.prototype); //prototype是函数的属性,所以这里打印undefined,大家也就不会奇怪了吧。 console.log(B.constructor.prototype); console.log(A.__proto__); console.log(B.__proto__);

        结果如下: JavaScript 的原型详解 原型链         在js执行过程如果当前活动对象没有这个属性,那js执行引擎会按照该对象的__proto__属性一直向上级查找,直到Object.__proto__,如果还是没有发现则会返回undefined。上一张图看看到底是如何寻找的。 JavaScript 的原型详解 Javascript创建对象的步骤         Javascript创建对象的步骤:(1)、创建新对象;(2)、将该对象的原型指向构造函数prototype所指向的那个原型对象;(3)、将该对象作为this参数调用构造函数。如下:
function Obj() { } var o = {}; Obj.call(o)

扩展阅读

Javascript中的原型和this指针
JavaScript中的继承和原型
JavaScript中的原型和继承
JavaScript中typeof和instanceof深入详解
JavaScript的原型和原型链及项目实战

为您推荐

构建工具的发展及Android Gradle快速上手
Sciter - 多平台嵌入式 HTML/CSS/脚本 UI 引擎
Java 资源本地化与国际化
[原]Spring Boot(1)-快速构建应用
非常实用的CSS使用技巧

更多

JavaScript
JavaScript开发
相关文档  — 更多
相关经验  — 更多
相关讨论  — 更多