关于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 相关文章推荐
jquery的相对父元素和相对文档定位示例代码
Aug 02 Javascript
JS实现仿QQ聊天窗口抖动特效
May 10 Javascript
浅析javascript函数表达式
Feb 10 Javascript
JS判断是否长按某一键的方法
Mar 02 Javascript
AngularJs  Using $location详解及示例代码
Sep 02 Javascript
基于JavaScript实现拖动滑块效果
Feb 16 Javascript
JS控件bootstrap suggest plugin使用方法详解
Mar 25 Javascript
基于AGS JS开发自定义贴图图层
Mar 31 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
Aug 17 Javascript
基于vue 实现token验证的实例代码
Dec 14 Javascript
layui-laydate时间日历控件使用方法详解
Nov 15 Javascript
用JS写一个发布订阅模式
Nov 07 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
NO3第三帝国留言簿制作过程
2006/10/09 PHP
php 编写安全的代码时容易犯的错误小结
2010/05/20 PHP
使用CodeIgniter的类库做图片上传
2014/06/12 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
JS location几个方法小姐
2008/07/09 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
JS中改变this指向的方法(call和apply、bind)
2016/03/26 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
js无提示关闭浏览器窗口的两种方法分析
2016/11/06 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
Vue组件通信实践记录(推荐)
2017/08/15 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
解决python3 网络请求路径包含中文的问题
2018/05/10 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
Python日志处理模块logging用法解析
2020/05/19 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
英语自荐信范文
2013/12/11 职场文书
目标责任书范文
2014/04/14 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
2015年清明节网上祭英烈留言寄语
2015/03/04 职场文书
周末问候语大全
2015/11/10 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
Redis分布式锁Redlock的实现
2021/08/07 Redis