一、一元加减操作符
1、数字加减
一元加操作符:
相当于使用Number()函数对变量进行转换。
一元减操作符:与加类似,只是会在结果前面多一个负号。
Eg:var a = “02” ; a = +a; //2
var b = ‘02’ ; b = -b; //-2
2、字符串和数字
字符串和数字:加则拼接,减则转数字相减。
字符串和字符串:加则拼接,减则转数字相减。
无法转成数字时则为NaN
二、相等操作符
1、先进行类型转换再比较
2、NaN != NaN
3、null == undefined
4、[ ] == false ? true : false;
结果为true!
1)空数组转换为数字0
数组继承了默认的valueOf()方法,这个方法返回一个对象而不是一个原始值,因此,数组到数字的转换则调用toString()方法。空数组转换为空字符串,空字符串转换为数字0。
2)布尔值转换为0、1
三、void操作符
1、void是JavaScript里面的一元操作符
2、作用
1)void(0) === undefined 为真,undefined不是保留字,用void0可以替代。
2)href=”javascript:void(0)”,阻止a标签点击跳转。
四、typeof操作符
1、基本值
6种:string,number,boolean,undefined,object,
function
2、易出错的数据类型
typeof undefined //undefined
typeof null //
object 没有null类型
typeof function
//
function 函数不是object类型
五、instanceof操作符
instanceof操作符:当a的原型为b,b原型为c时,a既是b的instance也是c的
六、in操作符
用来检测数组索引或者对象属性。
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
0 in trees // 返回true
3 in trees // 返回true
6 in trees // 返回false
"bay" in trees // 返回false (
必须使用索引号,而不是数组元素的值)
"length" in trees // 返回true (length是一个数组属性)
Symbol.iterator in trees // 返回true (数组可迭代,只在ES2015+上有效)// 内置对象
"PI" in Math // 返回true
// 自定义对象
var mycar = {make: "Honda", model: "Accord", year: 1998};
"make" in mycar // 返回true
→属性必须用双引号!
"model" in mycar // 返回true