我想知道你能为 alert 分配一个变量吗?它的真正含义和作用是什么?例如,
var a = alert('test');
我试过了,当我调用变量 a
时变量 a
仍然是 'undefined'
的页面加载后,警报就会弹出。难道我们不想让它成为一个匿名函数,里面有 alert,比如
var a = function(){ alert('test'); }
如果我们想触发某事的警报?为什么 javascript 允许您这样做?
最佳答案
var a = alert('test');
将此语句视为任何其他变量赋值。为了执行分配,首先评估右侧。在这种情况下,它是一个函数调用,所以函数被调用并获得它的返回值。在警报的情况下,返回值为 undefined
。它不返回任何内容。
然后返回值被分配给a
,所以a
以值undefined
结束。
作为该语句的副作用,会显示一条警告消息。这是调用 alert() 并获取其返回值的结果。
function foo(x) {
return x * 2;
}
var a = foo(3);
此代码在结构上类似于 alert 调用,并且会导致 a
为 6。但是 alert() 不会返回值。它更像这样:
function bar(x) {
return;
}
var a = bar(3);
现在 a
是 undefined
。
关于Javascript 将变量分配给警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12380382/