void()表达式结果是SyntaxError
void是一元运算符,他出现在操作数之前,操作数可以使任意类型,操作数会照常计算,但忽略计算结果并返回undefined。
因此在操作数具有副作用的时候使用void来让程序根据语义
console.log(void 0);//undefined;
console.log(void (0));//undefined;
常见的作用:
1.替代undefined
由于undefined并不是一个关键字,其在ie8浏览器中会被重写,在高版本函数作用域中也会被重写;所以可以用void 0来替换undefined。
var undefined = 0;
console.log(undefined);//IE8浏览器下为10,高版本浏览器下为undefined。
function test(){
var undefined = 10;
console.log(undefined);
}
console.log(test());//所有浏览器下都是10
2.客户端
这个运算符最常用的客户端URL--JavaScript:URL中,在url中可以写带有副作用的表达式,而void则让浏览器不必显示这个变大时的计算结果。例如,经常在HTMl代码中的<a>标签里使用void运算符。
<a href=“javascript:void window.open();">打开一个新窗口</a>
3.阻止默认事件
阻止默认事件的方式是给事件设置返回值false
//一般写法
<a href="http://example.com" onclick="f();return false">文字</a>
使用void运算符可以取代上面写法
<a href="javascript:void(f())">文字</a>
所以void()表达式结果是SyntaxError
---转载自牛客网---
void()表达式结果是SyntaxError的更多相关文章
- void in javascript是一个指定要计算表达式但不返回值的运算符
void in javascript是一个指定要计算表达式但不返回值的运算符.void运算符使用格式如下:1.javascript:void(表达式)2.javascript:void表达式表达式是要 ...
- void 0作用
undefine 是可以被赋值的. 但是void 操作符 通过 计算 void 后面的变量名后还是会返回一个undefined ,这样就保证了你的undefined即使被定义了,采用void 表达式, ...
- JS - What does `void 0` mean?
语法 void expression // or void(expression) MDN的描述 能向期望一个表达式的值是 undefined 的地方插入会产生副作用的表达式.也就是为了避免产生某种副 ...
- 【javaScript基础】马上调用函数表达式
在javaScript中,每一个函数被调用时,都会创建一个新的运行上下文.由于在一个函数里面定义的变量和函数仅仅能在里面訪问.在外面是不行的.上下文提供了一种非常easy的方法来创建私有性. //ma ...
- C语言基本概念之表达式
原文地址:http://blog.csdn.net/astrotycoon/article/details/50857326 [侵删] 什么是表达式(表达式的定义)? 对于表达式的定义,好像从来没有人 ...
- ISO/IEC 9899:2011 条款6.8.3——表达式与空语句
6.8.3 表达式与空语句 语法 1.expression-statement: expressionopt ; 语义 2.在一条表达式语句中的表达式被计算为一个void表达式作为其副作用.[注 ...
- ISO/IEC 9899:2011 条款6.5.1——基本表达式
6.5.1 基本表达式 语法 1.primary-expression: identifier constant string-literal ( expression ) generic ...
- void 运算符
void 是 javascript 的操作符,意思是:只执行表达式,但没有返回值.该表达式会被计算但是不会在当前文档处装入任何内容,void其实是javascript中的一个函数,接受一个参数,返回值 ...
- C++98/11/17表达式类别
目标 以下代码能否编译通过,能否按照期望运行?(点击展开) #include <utility> #include <type_traits> namespace cpp98 ...
随机推荐
- canvas+js绘制折线图
效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 技巧方法 - CentOS6将Python2.6.6升级到Python2.7.6
1.首先使用“python -V”命令查看python版本,我们测试主机显示的是2.6.6版,于是下面就着手将python2.6.6升级到Python2.7.6.python -V #查看python ...
- js中的promise详解
一 概述 Promise是异步编程的一种解决方案,可以替代传统的解决方案--回调函数和事件.ES6统一了用法,并原生提供了Promise对象.作为对象,Promise有一下两个特点: (1)对象的 ...
- Go语言目录
为什么学习Go语言 第一章 环境搭建 Windows搭建Go语言环境 第二章 Go语言基础 Go语言介绍 Go语言命名 Go语言内置类型和函数 Go语言特殊函数介绍 Go语言运算符 第三章 Go语言程 ...
- 【实战】某项目SQL注入引发的思考
数据包: 测试参数:username,测试payload: ' ' or '1'='1 ' or '1'='2 响应结果都未发生任何变化,借助sqlmap测试,结果一样: 尝试在or前面进行简单的fu ...
- python怎么解决用matplotlib画图时无法显示中文的问题或者出现方框的问题
在中文前面加上u 加上u以后如果还不可以显示中文显示了方框 就直接加上 from pylab import mpl mpl.rcParams['font.sans-serif']=['SimHei']
- 用Python写了一个postgresql函数,感觉很爽
用Python写了一个postgresql函数,感觉很爽 CREATE LANGUAGE plpythonu; postgresql函数 CREATE OR REPLACE FUNCTION myfu ...
- 静态类和静态方法,抽象类和抽象方法,new关键字,值类型和引用类型,接口
静态类和静态方法:静态成员是与类相关,而非实例相关:普通类中的静态成员:1.只能通过类名访问.2.静态方法中只能访问静态成员,或通过对象访问实例成员.3.多个对象共享同一个成员.静态类(一般用作工具类 ...
- WCF系列教程之WCF中的会话
本文参考自http://www.cnblogs.com/wangweimutou/p/4516224.html,纯属读书笔记,加深记忆 一.WCF会话简介 1.在WCF应用程序中,回话将一组消息相互关 ...
- 001-Servlet模板
package ${enclosing_package}; import java.io.IOException; import javax.servlet.ServletException; imp ...