JS的prototype和__proto__
来源:互联网 发布:淘宝网品种销量排行榜 编辑:程序博客网 时间:2024/05/29 13:56
转载的参考博文
转载的那篇博客虽然点击不高,讲的可能也不全面。但对于刚接触JS的朋友来说,还是清晰简洁的说明了prototype和__proto__所起的作用。1,原型链的主角是__proto__。原型链有些类似继承的概念。2,prototype是只有函数才有的。用于保存公共的属性和方法。JS中每个函数都可以作为构造函数,同时函数本身也是一个对象。它构造出来的对象的__proto__是指向构造函数的prototype的,而不是函数对象本身。JS中一切皆对象,因此函数兼具二重属性--对象和构造函数。构造函数的概念是面向所有据此构造出来的实例的。对象的概念则是面向函数自身的。举个例子
var a = function() {}a.prototype.pub_var_a = 1;a.pri_var_a = 2;console.log(a.pri_var_a);//2console.log(a.pub_var_a);//undefinedconsole.log(new a().pub_var_a);//1console.log(new a().pri_var_a);//undefined
pri_var_a是对象a的成员,所以可以被访问;//第一条consolepub_var_a不是对象a的成员,所以不可以被访问;//第二条pri_var_a不是以a为构造函数的实例的成员,所以自然不能通过该实例访问;//第四条但是,pub_var_a会因为__proto__指向而可以被所有a的构造实例访问;//第三条这个应该被理解为JS的语言特性,源于以下几点:1,JS以一切皆为对象,所以函数也有对象特征;2,对象不能凭空而来,肯定是通过构造而来。对象之间应该有继承关系。刚接触JS,还不讲不清楚这一块内容,只是觉得:因为我们需要,所以JS被设计成了这样。
阅读全文
0 0
- JS的prototype和__proto__
- JS的prototype和__proto__
- JS的prototype和__proto__
- JS的prototype和__proto__
- JS的prototype和__proto__
- JS的prototype和__proto__
- JS的prototype和__proto__
- JS的prototype和__proto__
- JS的prototype和__proto__
- JS的prototype和__proto__
- JS的this、__proto__ 和. prototype 、constructor
- js中的__proto__和prototype
- Js中的prototype和__proto__
- js中的__proto__和prototype
- JS的prototype和__proto__ apply和call
- js中__proto__和prototype的区别和关系
- Js中__proto__和prototype的区别和关系
- js中__proto__和prototype的区别和关系?
- LeetCode 268. Missing Number
- 【Unity与23种设计模式】迭代器模式(Iterator)
- Cordova 自定义插件(Android)
- redis集群搭建详细指导(图文介绍)
- 值的交换
- JS的prototype和__proto__
- Snakes and Ladders LightOJ
- Hive 1.x升级hive2.1.1全过程及与HBase的互通
- Spark算子补充<一>
- Java中的线程的状态与生命周期
- C++调用空指针对象的成员函数成功的理解
- SEO网站性能优化
- python TypeError: 'module' object is not callable
- LeetCode算法问题1 —— Add Two Numbers