Javascript无法获取要显示的警报
为什么下面的代码不打开一个带有文本foo的警报框Javascript无法获取要显示的警报,javascript,Javascript,为什么下面的代码不打开一个带有文本foo的警报框 function wrapInObject(value) { return { value: value }; } alert(wrapInObject("foo").value); 还有,为什么下面的代码没有用文本栏打开一个警报框 var a = "foo", b = a; b += "bar"; alert(a); 大括号应该和return语句在同一行。这是因为javascript自动插入分
function wrapInObject(value) {
return
{
value: value
};
}
alert(wrapInObject("foo").value);
还有,为什么下面的代码没有用文本栏打开一个警报框
var a = "foo",
b = a;
b += "bar";
alert(a);
大括号应该和return语句在同一行。这是因为javascript自动插入分号。它假定return语句已结束并插入分号。因此它将返回未定义。您正在尝试获取undefined的value属性,它将抛出一个错误。这就是为什么警报没有出现
因此,您的代码应该是:
function wrapInObject(value) {
return {
value: value
};
}
关于第二个问题:
var a = "foo",
b = a;
b += "bar";
alert(a);
它是按值传递的,而不是按引用传递的。所以改变b并不改变a,这就是为什么你只得到foo
如果你提醒B,它会给你食物棒
大括号应该和return语句在同一行。这是因为javascript自动插入分号。它假定return语句已结束并插入分号。因此它将返回未定义。您正在尝试获取undefined的value属性,它将抛出一个错误。这就是为什么警报没有出现
因此,您的代码应该是:
function wrapInObject(value) {
return {
value: value
};
}
关于第二个问题:
var a = "foo",
b = a;
b += "bar";
alert(a);
它是按值传递的,而不是按引用传递的。所以改变b并不改变a,这就是为什么你只得到foo
如果您提醒B,它将为您的提醒问题提供foobar。。。由于返回问题已经解决,您正在将一个var传递给警报函数,而a只是foo,在您修改var后,将成为foobar的是b。对于您的警报问题。。。由于返回问题已经解决,您正在向警报函数传递一个var,而a只是foo,在修改var后,b变成了foobar。@testndtv上面的答案对您有帮助吗?@testndtv上面的答案对您有帮助吗?