gpt4 book ai didi

javascript - 访问上面在对象文字中定义的变量会导致 ReferenceError

转载 作者:行者123 更新时间:2023-12-02 16:20:30 30 4
gpt4 key购买 nike

var g = {
lang: "ttt",
l: function(){
console.log(lang);
}
}

console.log(g.l());

ReferenceError: lang is not defined

为什么 lang 未定义?

最佳答案

您需要使用g.langthis.langthis 将引用 g 对象,除非使用 .call().apply()

例如,这将导致未定义:

var g = {
lang: "ttt",
l: function(){
console.log(this.lang);
}
}

console.log(g.l.call(Math));

但是,这始终会给出正确的结果(如果您不重新分配 g):

var g = {
lang: "ttt",
l: function(){
console.log(g.lang);
}
}

console.log(g.l.call(Math));

关于javascript - 访问上面在对象文字中定义的变量会导致 ReferenceError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303526/

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