为什么 javascript void 语句计算表达式
Why does the javascript void statement evaluate an expression?
javascript void
语句计算表达式,并返回undefined
值。这很有用,因为全局变量undefined
可以重新定义,但为什么要计算 en 表达式呢?大多数人只使用 0,如
void 0;
void(0);
看着拉古的回答,文件说
此运算符允许将产生副作用的表达式插入到需要计算结果为 undefined 的表达式的位置。
但是你能给我一个例子,你不能只把void(0)
放在需要值ùndefined'的位置,并在另一行上评估带有副作用的表达式?
void
运算符的主要用途是(或者曾经,因为今天您可能更愿意使用事件处理程序)在单击具有javascript:
URL 的链接时阻止任何导航。当此 javascript 函数返回 undefined
时,不会发生导航。void
运算符通常是实现这一目标的最短方法。
例
<a href="javascript: void console.log('click') ">log click to console</a>
或者,更一般
<a href="javascript: void doSomething() ">do something</a>
正如在这把小提琴中看到的
标准文档应该有助于理解为什么它作为一个表达式进行计算,以及大多数人使用它的位置和原因
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void
相关文章:
- 正在计算表达式1<=月份<=12
- 正则表达式来计算引号中的“?”实例
- 未为text/ng模板计算角度表达式
- JavaScript 以八进制基数计算表达式
- 如何从文本字段中自动计算表达式
- 计算 ng-repeat Angular JS 表达式的总数
- 正则表达式计算不包括 html 标记的单词
- 计算 ng 控制器中的表达式
- 在计算链逻辑表达式 JavaScript 时出现意外结果
- JavaScript 中逻辑表达式的短路计算
- Javascript - 如何安全地计算表达式以进行自动完成
- 为什么 javascript void 语句计算表达式
- IE10只给了我一个'无法计算表达式'更改样式时出错
- 在Angular 1.4.5中,在ng repeat中使用$parse指令计算表达式
- 将数学表达式从文本转换为计算表达式
- AngularJS不计算表达式
- 如何从ng-show属性获得布尔值而不重新计算表达式?
- 设置为特性时的角度计算表达式
- 指令模板未计算表达式
- Angularjs计算表达式并赋值给模型