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 - 如何在 Javascript 或 JqueryUI 中将 <line> 拖到 <rect> 内?

javascript - ES6 什么是三重粗箭头语法

javascript - 在 asp.net mvc 中显示来自 Controller 操作的 javascript 警报

javascript - 从 Rails 中的 Controller 打开弹出窗口

javascript - 如果有人单击 `draggable` div 中的输入,我该如何拖动 div?

javascript - 简单 : HTML/Javascript Can't get this button to work?

javascript - 谷歌闭包编译器、​​PRETTY_PRINT 和对象字面量

javascript - 什么都没做时点击了取消按钮

javascript - 除非我提醒字符串,否则 RSS 计数不会出现

python - 使用 selenium 和 python 检查是否存在任何警报