关于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 处理HTML元素必须避免使用的一种方法
Jul 30 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
Apr 26 Javascript
jquery特效 幻灯片效果示例代码
Jul 16 Javascript
jQuery动态添加删除select项(实现代码)
Sep 03 Javascript
Webwork 实现文件上传下载代码详解
Feb 02 Javascript
深入理解jquery跨域请求方法
May 18 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
Nov 09 Javascript
微信小程序发送短信验证码完整实例
Jan 07 Javascript
Javascript的this详解
Mar 23 Javascript
微信小程序扫描二维码获取信息实例详解
May 07 Javascript
JavaScript实现电灯开关小案例
Mar 30 Javascript
vue 修改 data 数据问题并实时显示操作
Sep 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
PHP实现下载功能的代码
2012/09/29 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
jquery获取img的src值实例介绍
2019/01/16 jQuery
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
简单了解python中的与或非运算
2019/09/18 Python
Django框架安装方法图文详解
2019/11/04 Python
Python可以实现栈的结构吗
2020/05/27 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
python中np是做什么的
2020/07/21 Python
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
什么是Remote Module
2016/06/10 面试题
AJAX的优缺点都有什么
2015/08/18 面试题
物流仓管员岗位职责
2013/12/04 职场文书
单位介绍信范文
2014/01/18 职场文书
2014年学生会工作总结
2014/11/07 职场文书
python基础之爬虫入门
2021/05/10 Python