javascript - Array.prototype是什么?Array怎么继承Object的属性??
高洛峰
高洛峰 2017-04-10 17:10:09
[JavaScript讨论组]
function func(){}
alert(func.prototype);//[object Object]
alert(func.__proto__);//function (){[native code]}
b=new func;
alert(b.__proto__);//[object Object]
func.prototype=Array;//继承后
alert(b.__proto__);//[object Object]
alert(func.prototype);//function Array(){[native code]}
alert(func.__proto__);//function (){[native code]}

a=new Array;
alert(a.__proto__);//空,为什么不是[object Object]???
 alert(Array.prototype);//空,为什么不是function Object(){[native code]}???
 Array.prototype=new Object;//继承后
 alert(Array.prototype);//空??为什么???
  Array或其他引用类型怎么继承Object的所有属性和方法???
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(5)
黄舟
a=new Array;
a.__proto__; // []
a.__proto__.__proto__; // Object {}

所有对象默认都已经继承了Object的属性和方法。

不要用alert,空数组用alert显示不出来。在控制台输入代码查看结果。

天蓬老师

Array.prototype是原生的对象模型,若你想在原生对象的基础上扩展,就要使用到它

比如对数组增加contains方法:

Array.prototype.contains = function(){...};
PHP中文网

通过原型链继承的。

黄舟

这个需要看看数组原型和继承链。
然后自己多试试就理解了。

大家讲道理

Array.prototype指的是原生对象的原型,所有的引用类型都默认继承了Object,这个继承是通过原型链实现的,默认原型都包含一个内部指针指向Object.prototype,会继承toString(),valueOf()等方法。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号