javascript';这';功能中未定义的警报
我与“this”操作员有问题 Q:javascript';这';功能中未定义的警报,javascript,function,Javascript,Function,我与“this”操作员有问题 Q: function xyz(){ var b=10; alert(this.b); //value is undefined. } 在这里,我知道我将得到警告,因为未定义。但我不知道为什么值是未定义的 有人能帮我吗 此引用函数运行时使用的上下文 b不是该上下文的一部分 如果要将其添加到此处: function xyz(){ this.b = 10; alert(this.b); //value is 10. } 此引用函数运行时使用的上下文 b不是该
function xyz(){
var b=10;
alert(this.b); //value is undefined.
}
在这里,我知道我将得到警告,因为未定义。但我不知道为什么值是未定义的
有人能帮我吗 此
引用函数运行时使用的上下文
b
不是该上下文的一部分
如果要将其添加到此处:
function xyz(){
this.b = 10;
alert(this.b); //value is 10.
}
此
引用函数运行时使用的上下文
b
不是该上下文的一部分
如果要将其添加到此处:
function xyz(){
this.b = 10;
alert(this.b); //value is 10.
}
您不能将此属性用于示例。
您将b指定为函数中的变量,因此它在该函数的范围内。因此,您只需要执行以下操作
function xyz(){
var b=10;
alert(b); //value is undefined.
}
您不能将此属性用于示例。
您将b指定为函数中的变量,因此它在该函数的范围内。因此,您只需要执行以下操作
function xyz(){
var b=10;
alert(b); //value is undefined.
}
因为b
是一个局部变量,可以作为b
访问(而不是this.b
)此
在此上下文中引用的是窗口,其属性是全局变量。因为b
是一个局部变量,可以作为b
访问(而不是This.b
)此
在此上下文中引用的是属性为全局变量的窗口。本例中的函数为“This”,函数没有属性“b”。如果代码中的其他地方有一个对象,请将其指向该对象
var obj = {
b = 5
}
function xyz(){
obj.b = 10;
alert(obj.b)
}
本例中的函数为“this”,该函数不具有属性“b”。如果代码中的其他地方有一个对象,请将其指向该对象
var obj = {
b = 5
}
function xyz(){
obj.b = 10;
alert(obj.b)
}
该值未定义,因为此.b
不存在。为什么会这样?尝试将b添加为参数,并移除“var”关键字函数xyz(b){}此
指的是窗口
,该窗口是一个全局对象,没有定义b
变量。如果要获取警报,只需执行b=10
。该值未定义,因为此.b
不存在。为什么会这样?请尝试将b添加为参数,并删除“var”关键字函数xyz(b){}此
引用了作为全局对象的窗口
,没有定义b
变量。如果您想获得警报,只需执行b=10
。实际上我们甚至不知道这个指的是窗口,因为我们看不到呼叫站点。例如,发问者可以发出new xyz()
或xyz.call(某物)
。实际上我们甚至不知道这个指的是窗口,因为我们看不到呼叫站点。例如,提问者可以发出new xyz()
或xyz.call(某物)
。