gpt4 book ai didi

javascript - 为什么无法从 'a' 访问属性 'fn'

转载 作者:行者123 更新时间:2023-11-28 12:19:21 24 4
gpt4 key购买 nike

var red = {a: 2};

red.fn = function(b){
console.log("A: "+a ", B : "+b);
}

red.fn(20);

这会产生错误:

a is not defined

但我怀疑 a 已经可以作为函数 fn 的全局对象使用,那么为什么它无法访问。任何解释都会有帮助。

最佳答案

因为与其他一些语言不同, this. 限定符在 JavaScript 中不是可选的(因为它的工作方式与大多数其他具有 this; more here 的语言根本不同) 。您需要明确地编写它:

red.fn = function(b){
console.log("A: " + this.a + ", B : " + b);
// ---------------------^^^^^
}

(您还缺少 +...)

关于javascript - 为什么无法从 'a' 访问属性 'fn',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41910252/

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