js内置构造函数属性修改问题
2024-10-19 05:37:09
在学习js原型时遇到一个问题,Array,Object等内置构造函数部分属性无法修改,我猜测可能是因为浏览器实现的原因造成的。
1.修改name属性无效。
<script type="text/javascript"> function Person(){
this.name="我是一个人";
this.skill=function(){
console.log("我会打码");
}
}; Person.prototype=Array;
var p1=new Person();
console.log(p1);
console.log(p1.name);
console.log(Array.name);
Array.name="能改不";
console.log(Array.name);
</script>
输出结果如下:
在对Object,Number,Date,String,RegExp,Boolean,Math等内置函数进行测试后,发现除Math外的结果大同小异,均是输出函数名。这些内置函数的name属性值无法修改,我猜测是js的内部实现机理造成的,希望懂行的能指教指教。我比较不能理解的是为啥Array的name属性可以影响Person中的name。为什么创建的对象p1中没有name属性。
Math的输出结果:
我在火狐和360上测试,结果均是一样。谷歌浏览器暂时还没测试。IT新人,还请前辈们多多指教。
最新文章
- 团队作业week16
- 服务 {49A27252-A326-4EF1-B698-6EBC7068833C} 的计时器作业 id {573BE459-DF82-481C-84BD-CA14D287450B} 配置刷新的上一个实例仍在运行,因此将跳过当前的实例。请考虑增加作业之间的时间间隔。
- QQ空间HD(4)-设置左侧菜单栏属性
- 15款增强web体验的Javascript库
- SPOJ COT2 树上找路径上不同值的个数
- Linux 的 screen用法
- Oracle EBS-SQL (PO-11):检查采购订单退货数.sql
- Android该HTTP下载
- C#中数组,ArrayList与List对象的区别
- 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)
- [Hadoop]Hadoop章3 NameNode的ZKFC机制
- mysql 动态增加列,查找表中有多少列,具体什么列。 通过JSON生成mysql表 支持子JSON
- Codeforces Round #531 (Div. 3)
- iOS原生项目集成React Native模块
- 使用大于16TB的ext4文件系统
- 请简要介绍Sping MVC、IoC和AOP
- [Algorithm] Check for balanced parentheses using stack
- 端到端文本识别CRNN论文解读
- selenium+python自动化90-unittest多线程执行用例
- 【驱动】USB驱动实例&#183;串口驱动&#183;键盘驱动【转】