Javascript 将变量分配给警报

标签 javascript alert

我想知道你能为 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);

现在 aundefined

关于Javascript 将变量分配给警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12380382/

相关文章:

javascript - Angular js选择框首先是空选项

javascript - scrollmagic 和 velocityjs

javascript - 我如何编写一个 Javascript 警报,使其在每个网络 session 中只填充一次?

javascript - 在警报框中使用AJAX

css - 由于屏幕英寸而改变页面样式

javascript - 如何在不重新渲染的情况下使用 React Router 将哈希添加到 url?

javascript - 有没有更合适的方法来使用 AJAX 处理错误?

javascript - 使用 innerhtml 访问 anchor 标记

swift - 从 Swift 异常生成错误表

jquery - 没有警报()的jQuery无法正常工作