gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 11:56:48 26 4
gpt4 key购买 nike

我知道有多种方法可以创建对象、添加方法和属性等。关于原型(prototype),我不明白一件事

  function Obj () {
var msg = "message";

this.log = function (){
console.log(msg);
}
}
var o = new Obj();
o.log();

这将输出消息。但是使用原型(prototype)

function Obj2 () {
var msg = "message2";

}

Obj2.prototype.log = function () {
console.log(msg);
}

var o2 = new Obj2();
o2.log();

将输出 msg 未定义。这是为什么?

最佳答案

msg 是一个变量,其作用域分别为 ObjObj2

第一个示例中的 log 函数是在 Obj 范围内定义的,因此它可以访问该范围内的变量。

第二个示例中的 log 函数未在 Obj2 的范围内定义,因此它没有定义。

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

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