条件运算符
?:是javascript中唯一的三元运算符。
x>0?x:-x //求绝对值
经典的场景是判断一个变量是否有定义
greeting = 'hello'+(username?username:'there')
typeof 运算符
typeof是一元运算符,操作数可以是任意类型,返回值为操作数类型的一个字符串。
typeof(undefined) //'undefined'
typeof(null) //'object'
typeof(true) //'boolean'
typeof(10) //'number'
typeof(NaN) //'number'
typeof('hello') //'string'
typeof(function f1(){}) //'function'
typeof(任意对象) //'object'
delete运算符
delete是一元运算符,用来删除对象属性或者数组元素。
var o = {x:1,y:2}
delete o.x
'x' in o //false
var a = [1,2,3]
delete a[1]
a.length //3
删除数组元素后,数组长度没变,只是把相应位置的值设成了undefined。
void 运算符
一元运算符,让后面的表达式正常计算但返回值为undefined。
很少用,一般用在浏览器URL中,让浏览器执行而不显示结果。
<a href="javascript:void window.open();">打开窗口</a>
逗号运算符
,运算符是一个二元运算符,先执行左侧表达式,再执行右侧表达式,最后返回右侧表达式的值,左侧表达式的返回值会被忽略掉。
i = 0, j = 1, k =2 //最后返回2
通常用在for语句多个循环变量定义的时候。
for(var i=0,j=10;i<j;i++,j--){
console.log(i+j)
}