gpt4 book ai didi

javascript 对象原型(prototype)属性访问

转载 作者:行者123 更新时间:2023-11-28 16:18:52 24 4
gpt4 key购买 nike

这是我的问题的 jsFiddle:http://jsfiddle.net/4wyvv/1/

基本上:

//constructor function
function Maker(){
var str;

this.init = function(str){
this.str = str;
};

this.msg = function(){
return this.str;
};
}

//object from Maker
var obj = new Maker();

obj.init("Hi my name is Dan");

//make sure everything exists and has worked as expected
Audit.Log(obj.msg());
//look in Maker.prototype for the constructor property
Audit.Log(obj.constructor);
//look in Maker.prototype for the constructor property
Audit.Log(Maker.prototype.constructor);

//now look for all makers prototype properties, this should list atleast "constructor"
for(var i in Maker.prototype){
Audit.Log(i);
}

为什么 foreach 循环没有输出任何内容?它至少应该输出构造函数,正如我所展示的 Maker.prototype.constructor 存在一样。

最佳答案

对象的一些属性(例如“构造函数”)是隐藏的,或者更准确地说是不可枚举的,因此它们不会使用像这样的 for in 循环进行枚举,在 ECMA5 中,我们有一个可以获取所有属性的方法

Object.getOwnPropertyNames(Maker.prototype)

这是给你的

["constructor"]

详细解释如下:How to display all methods of an object in Javascript?

关于javascript 对象原型(prototype)属性访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10446496/

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