void 运算符
发布时间:2023-03-10 08:50:53 所属栏目:教程 来源:
导读:void 运算符 对给定的表达式进行求值,然后返回 undefined。(MDN)
表达式前面如果带有 void 关键字,则表达式的结果就会被忽略,并将 undefined 作为结果。
从业务上来看,void 关键字并不常用。
1. 用于调
表达式前面如果带有 void 关键字,则表达式的结果就会被忽略,并将 undefined 作为结果。
从业务上来看,void 关键字并不常用。
1. 用于调
|
void 运算符 对给定的表达式进行求值,然后返回 undefined。(MDN) 表达式前面如果带有 void 关键字,则表达式的结果就会被忽略,并将 undefined 作为结果。 从业务上来看,void 关键字并不常用。 1. 用于调用函数表达式 当想让一个函数立即实行的时候,需要让 JavaScript 将一个函数识别为表达式,void 关键字就能起到这个作用。 void function() { alert('马上执行!冲冲冲!'); }(); 但有局限性,如果需要获取到函数的返回值,就不能使用 void。 var num1 = ; var num2 = ; var result = void function(number1, number2) { return [number1 + number2, number1 * number2]; }(num1, num2); result.forEach(function(res) { console.log(res); }); 如这个例子,函数返回了两数之和与两数之积的结果,但因为 void 关键字,实际 result 变量被赋值为 undefined,导致程序无法正常执行。 2. 内联在 HTML 中,阻止 a 标签的默认事件 <a> 标签的 href 属性,可以用来执行 JavaScript 代码。 通常可以这么写: <a href="javascript: void;">跳转!</a> <a href="javascript: void 0;">跳转!</a> <a href="javascript: void (0);">跳转!</a> 这三行代码的效果是一样的。 如果 <a> 标签的 href 属性是 javascript:表达式;,则会执行表达式的内容,并将页面的内容设置为表达式的结果,如果表达式的结果是 undefined,则什么都不做。 根据这个规则,void 就起到了作用,但其实不写表达式,依然能达到这个效果。 <a href="javascript:;">跳转!</a> 这样的效果和上面使用 void 关键字的方式是等价的,这也是常用的方式。 但碰到需要使用 <a> 标签执行函数的时候,void 就变得相对关键。 <script> function log(who) { console.log('点击了:' + who); return who; } </script> <a href="javascript: log('add');">添加</a> <a href="javascript: log('update');">修改</a> <a href="javascript: log('delete');">删除</a> 这种情况如果不加 void,页面内容就会发生改变,因为 log 函数存在非 undefined 的返回值。 <script> function log(who) { console.log('点击了:' + who); return who; } </script> <a href="javascript: void log('add');">添加</a> <a href="javascript: void log('update');">修改</a> <a href="javascript: void log('delete');">删除</a> 加上 void 一样,结果就符合预期了,具体的添加、删除操作,再通过绑定对应的事件来实现。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
