关于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数组长度问题代码说明
Jan 20 Javascript
浅谈JavaScript之事件绑定
Jul 08 Javascript
javascript中数组的concat()方法使用介绍
Dec 18 Javascript
javascript跨浏览器的属性判断方法
Mar 16 Javascript
JQuery控制DIV的选取实现方法
Sep 18 Javascript
js调用屏幕宽度的简单方法
Nov 14 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
Jan 24 Javascript
js省市区级联查询(插件版&无插件版)
Mar 21 Javascript
JavaScript实现精美个性导航栏筋斗云效果
Oct 29 Javascript
vue里面使用mui的弹出日期选择插件实例
Sep 16 Javascript
Node.js 路由的实现方法
Jun 05 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
Jun 08 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 $_FILES中error返回值详解
2014/01/30 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
javascript随机抽取0-100之间不重复的10个数
2016/02/25 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成"...")
2016/11/28 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
详解Python中的循环语句的用法
2015/04/09 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
Python内置函数reversed()用法分析
2018/03/20 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
2019/08/22 Python
python计算导数并绘图的实例
2020/02/29 Python
python Cartopy的基础使用详解
2020/11/01 Python
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
小学教师学期末自我评价
2013/09/25 职场文书
会计学生自我鉴定
2014/02/06 职场文书
数学与统计学院学生个人职业生涯规划书
2014/02/10 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
图书馆标语
2014/06/19 职场文书
中学生运动会通讯稿大全
2014/09/18 职场文书
2014年德育工作总结
2014/11/20 职场文书
毕业论文致谢范文
2015/05/14 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书