运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,覆盖了所有主要的运算。
一.概述
- void运算符作用? 执行一个表达式,然后无返回;主要用于浏览器的书签工具,以及阻止标签的默认行为。具体见:void 运算符
- 逗号运算符的使用? 2个逗号或者多个逗号连接表达式,返回最后一个表达式计算结果具体见:逗号运算符。
- 圆括号的使用? 提高运算符的级别,跟在函数名后调用函数。具体见:圆括号的作用
二.void 运算符
- void运算符的作用是执行一个表达式,然后不返回任何值,或者说返回undefined。
void运算符的主要用途。
-
替代undefined:由于undefined并不是一个关键字,其在IE8-浏览器中会被重写,在高版本函数作用域中也会被重写;所以可以用void(0) 来替换undefined。
void (0) //undefined
-
客户端URL:这个运算符最常用在客户端URL——
javascript:URL
中,在URL中可以写带有副作用的表达式,而void则让浏览器不必显示这个表达式的计算结果。例如,经常在HTML代码中的<a>
标签里使用void
运算符。<a href="javascript:void window.open();">打开一个新窗口</a>
-
阻止默认事件:阻止默认事件的方式是给事件置返回值false。
//一般写法 <a href="http://example.com" onclick="fun();return false;">hehe</a> //使用void运算 <a href="javascript:void(fun())">hehe</a>
三.逗号运算符
-
逗号运算符用于对两个或者多个表达式求值,并返回后一个表达式的值。
-
逗号运算符的一个用途是,在返回一个值之前,进行一些辅助操作。
//一: 逗号表达式,返回最后一个值 'a', 'b' // "b" 'a', 'b',1+2// 3 var x = 0; var y = (x++, 10); x // 1 y // 10 //二: 使用范例,辅助操作 var value = (console.log('Hi!'), true); // Hi! value // true
四.圆括号的作用
-
圆括号
()
作用,一种是把表达式放在圆括号之中,提升运算的优先级; -
另一种是跟在函数的后面,作用是调用函数
-
()
只能放置表达式//一:提高运行优先级 (4 + 5) * 6 // 54 //二:函数放在圆括号中,会返回函数本身。如果圆括号紧跟在函数的后面,就表示调用函数 function f() { return 1; } (f) // function f(){return 1;} f() // 1 //三:放置语句报错 (var a = 1) // SyntaxError: Unexpected token var
五.左结合与右结合
-
左结合:从左到右计算,大多数都是从左向右计算
-
右结合:从右到左计算,常见的是 赋值运算符(
=
)和三元条件运算符(?:
)`w = x = y = z; q = a ? b : c ? d : e ? f : g; //上面计算过程如下 w = (x = (y = z)); q = a ? b : (c ? d : (e ? f : g));