prototype __proto__ Function
我们创建的每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象。(注意:是函数才有prototype属性)
而__proto__属性每一个对象都有。
在js中如果A对象是由B函数构造的,那么A.__proto__ === B.prototype
所以:
(1).__proto__ === Number.prototype//true
http://blog.csdn.net/aitangyong/article/details/44837655
- (typeof Object.prototype) === object;//true
- Object.prototype.__proto__=== null;//true
- Object.prototype.prototype === undefied;//true
- function Person()
- {
- }
- var obj = {};
- alert(obj.__proto__ === Object.prototype);//true
- alert(Person.__proto__ === Function.prototype);//true
javascript中对象是由Object创建的,函数是由Function创建的。
- Object.__proto__ === Function.prototype;
- //函数对象
- function Person()
- {
- }
- // 普通对象
- var obj = {};
- obj.__proto__ === Object.prototype;//true
- obj.prototype === undefined;//true
- Person.__proto__ === Function.prototype;//true
- Person.prototype !== undefined;//true
我们知道javascript正是通过prototype实现继承的。如果objA、objB都是由cFunction创建的,那么根据结论2,objA.__proto__ === objB.__proto__ === cFunction.prototype,也就是说objA和objB对象都继承了cFunction的prototype。原型链是基于__proto__形成的,继承是通过prototype实现的。
- (typeof Function.prototype) === function;//true
- Function.prototype.prototype === undefined;//true
结论6:内置的Function也是一个函数对象,它是通过自己来创建自己的。
- (typeof Function.__proto__) === function;//true
- Function.__proto__=== Function.prototype;//true
Function这个函数对象,由其自身通过Function函数构造的。
- (typeof Function.prototype.__proto__) === "object";//true
- Function.prototype.__proto__=== Object.prototype;//true
最后提一下:原型链是基于__proto__形成的,继承是通过prototype实现的。
prototype __proto__ Function的更多相关文章
- js中Object.__proto__===Function.prototype
参考:http://stackoverflow.com/questions/650764/how-does-proto-differ-from-constructor-prototype http:/ ...
- JavaScript:Function/Object/prototype/__proto__
console.log(Object.__proto__===Function.prototype); //true console.log(Object.prototype.__proto__); ...
- 关于 JavaScript prototype __proto__ 一点总结
http://www.cnblogs.com/wbin91/p/5265163.html 先上代码 function(y) Foo{ this.y = y;} Foo.prototype.x = 10 ...
- js prototype __proto__ instanceof constructor
JS中有两个特殊的对象:Object与Function,它们都是构造函数,用于生成对象. Object.prototype是所有对象的祖先,Function.prototype是所有函数的原型,包括构 ...
- javascript prototype __proto__区别
An Object's __proto__ property references the same object as its internal [[Prototype]] (often refer ...
- Javascript Prototype __proto__ constructor 三者的关系
JavaScript三大毒瘤 --- this,原型链,作用域 在我等菜鸟一步一步升级中的过程中,这三个概念总是困扰这我们(可能只有我吧,我比较蠢).这三个东西往往都很绕,今天我就来分享一下我对原型. ...
- 深入理解JavaScript原型:prototype,__proto__和constructor
JavaScript语言的原型是前端开发者必须掌握的要点之一,但在使用原型时往往只关注了语法,其深层的原理并未理解透彻.本文结合笔者开发工作中遇到的问题详细讲解JavaScript原型的几个关键概念, ...
- js 原型链 prototype __proto__
1.说明 函数(Function)才有prototype属性,对象(除Object)拥有__proto__. 2.prototype与__proto__区别 示例: <!DOCTYPE html ...
- prototype & __proto__
[普通对象 vs 函数对象] js中对象分为两类,普通对象.函数对象.当在终端打印时,普通对象与函数对象有极其明显的差异. 一个不含杂七杂八的函数对象如下,这是第一种表现形式.: 若往里面塞东西,则会 ...
随机推荐
- js进阶 12-14 jquery的事件触发函数是哪两个
js进阶 12-14 jquery的事件触发函数是哪两个 一.总结 一句话总结:trigger和triggerHandler 1.trigger传额外参数时候的注意事项是什么? 注意样例中是三个参数 ...
- [WPF自定义控件库]使用TextBlockHighlightSource强化高亮的功能,以及使用TypeConverter简化调用
1. 强化高亮的功能 上一篇文章介绍了使用附加属性实现TextBlock的高亮功能,但也留下了问题:不能定义高亮(或者低亮)的颜色.为了解决这个问题,我创建了TextBlockHighlightSou ...
- keil出现一些库函数没有定义
- POS的一点杂笔
仅限于POS 仅限于POS 仅限于POS A 字母字符 N 数字 S 特殊字符 an 字母和数字字符 as 字母和特殊字符 ns 数字和特殊字符 ans 字母.数字和特殊字符 MM 月份 DD 日期 ...
- python打印即时输出的方法
>>> import sys>>> sys.stdout.flush() 但是实验了,上面的报错,应该是不对的. 实验了,下面的报错,应该是不对的. 使用 prin ...
- redis 的惊群处理和分布式锁的应用例子
在并发量比较高的情况下redis有很多应用场景,提升查询效率,缓解底层DBio ,下面列举两个平时开发中应用过的两个例子,欢迎各位一起讨论改进. 1 . redis 惊群处理 1.1 方案的由来 Re ...
- [D3] Create Labels from Numeric Data with Quantize Scales in D3 v4
Sometimes data needs to be converted from a continuous range, like test scores, to a discrete set of ...
- Java算法--串的简单处理
题目例如以下: 串的处理 在实际的开发工作中.对字符串的处理是最常见的编程任务. 本题目即是要求程序对用户输入的串进行处理.详细规则例如以下: 1. 把每个单词的首字母变为大写. 2. 把数字与字母之 ...
- JNI_Android 项目中调用.so动态库实现详解
转自:http://www.yxkfw.com/?p=7223 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.java package com.wwj. ...
- Global Git ignore - Stack Overflow
https://stackoverflow.com/questions/7335420/global-git-ignore git config --global core.excludesfile ...