gpt4 book ai didi

javascript - 对 javascript 的构造函数和原型(prototype)感到困惑?

转载 作者:数据小太阳 更新时间:2023-10-29 05:06:33 25 4
gpt4 key购买 nike

function MyObject(){}
Array.prototype={};
MyObject.prototype={};
var a=new Array();
var b=new MyObject();
alert(a.constructor==Array);//true
alert(b.constructor==MyObject);//false

最佳答案

Array.prototype 是一个不可写的属性。

因此,您的作业:

Array.prototype = {}

...没有成功,所以它的 .constructor 属性没有改变。

15.4.3.1 Array.prototype

The initial value of Array.prototype is the Array prototype object (15.4.4).

This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }

...而使用您的自定义构造函数,您可以分配不同的原型(prototype)对象,因此您已经覆盖了通过 .constructor 引用构造函数的原始对象。

关于javascript - 对 javascript 的构造函数和原型(prototype)感到困惑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6742000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com