关于Javascript 对象(object)的prototype


Posted in Javascript onMay 09, 2014

Javascript中的每个对象(object)都会有 prototype 。试一下:

var Richard = new Object(); 
alert(typeof(Richard.prototype));

结果令人郁闷,浏览器弹出来的是 undefined……

到底是怎么回事呢?

再看一个例子:

function Richard(){} 
alert(typeof(Richard.prototype));

上面的例子似乎说明,只有 function 对象才有 prototype, 而一般的 Object 对象是没有 prototype 的,事实怎样呢?

我们再来执行一句就明白了:

var Richard = new Object(); 
alert(Richard.__proto__);

是不是明白了?

其实我们都有一个误区,就是认为形成 Javascript 对象的prototype chain 的 prototype 就是一个名字为 prototype 的属性,而且是可以访问的。其实,Javascript 的 prototype 和 名字为 prototype 的属性在一开始一点儿关系都没有,是两个不同的事物。

对于一般对象来说,我们只能通过 __proto__ 这样的属性去访问从 Object 对象继承来的 prototype;

对于函数对象来说,在其建立的时候,已经将 Function对象的 prototype 赋值给了 prototype 属性。

Javascript 相关文章推荐
JavaScript学习历程和心得小结
Aug 16 Javascript
js调用activeX获取u盘序列号的代码
Nov 21 Javascript
cument.execCommand()用法深入理解
Dec 04 Javascript
jquery遍历select元素(实例讲解)
Dec 31 Javascript
jQuery如何防止Ajax重复提交
Oct 14 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
Jul 28 Javascript
jQuery plugin animsition使用小结
Sep 14 jQuery
ng-alain表单使用方式详解
Jul 10 Javascript
vue-cli3项目展示本地Markdown文件的方法
Jun 07 Javascript
转换layUI的数据表格中的日期格式方法
Sep 19 Javascript
vue excel上传预览和table内容下载到excel文件中
Dec 10 Javascript
使用node.JS中的url模块解析URL信息
Feb 06 Javascript
javascript字母大小写转换的4个函数详解
May 09 #Javascript
js统计页面的来访次数实现代码
May 09 #Javascript
JavaScript Array对象扩展indexOf()方法
May 09 #Javascript
js获取鼠标点击的位置实现思路及代码
May 09 #Javascript
用js格式化金额可设置保留的小数位数
May 09 #Javascript
JQuery动画animate的stop方法使用详解
May 09 #Javascript
Javascript玩转继承(三)
May 08 #Javascript
You might like
PHP语法速查表
2007/01/02 PHP
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
flash javascript之间的通讯方法小结
2008/12/20 Javascript
JavaScript中null与undefined分析
2009/07/25 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
禁止js文件缓存的代码
2010/04/09 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
python实现汉诺塔算法
2021/03/01 Python
Python 使用类写装饰器的小技巧
2018/09/30 Python
Python日期时间Time模块实例详解
2019/04/15 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
Python request操作步骤及代码实例
2020/04/13 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
党的群众路线教育实践活动个人承诺书
2014/05/22 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
消防安全主题班会
2015/08/12 职场文书
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS
sql注入报错之注入原理实例解析
2022/06/10 MySQL