编程语言
首页 > 编程语言> > js的运算法则

js的运算法则

作者:互联网

1. 相加:

2.位运算

位运算:会先转成二进制再执行左移还是右移或者取反
<<左移,数字往左移(变大)

右移,数字往右移(变小)
~:是js里的按位取反操作符 , ~~ 就是执行两次按位取反,其实就是保持原值,但是注意虽然是原值,但是对布尔型变量执行这个操作,会转化成相应的数值型变量,也就是true === 1,false === 0。 ~~"" == 0 ~~[] == 0

3.进制间的转换

// 10进制转8进制,结果是字符串 var number=24; console.log(number.toString(8)); // 8进制转10进制,结果是数值 var a='24'; console.log(parseInt(a,8));

4.计算顺序:

5.比较运算

### 5.1 字符串和数值进行比较
console.log("123"==123);//true  字符串会自动转为Number console.log("123"===123);//false  要值和数据类型都一样菜能相等 console.log("123">321);//false console.log("321A">123); //false 不是全数字,无法转成Number,会自动转成NaN,出现NaN一般就是false console.log(NaN==NaN);//false  
### 5.2.undefined(null的派生子类)和null比较
console.log(undefined==null);//true console.log(undefined===null);//false
### 5.3.字符串和字符串比较(拿第一位的ASCII码进行比较)
console.log('a'>'b');//false console.log('a'<'b');//true console.log('ba'<'abz');//false  比较的是第一位的大小
### 5.4.布尔类型的值和null进行比较 
console.log(true>null);//true  1>0 console.log(true>undefined);//false  undefined会转成NaN,有NaN为false
### 5.5.先转换数据类型再比较
console.log(Number(true)==1);//true console.log(Number(true)===1);//true console.log(Boolean(0)===false);//true 0为false

标签:console,log,js,123,法则,false,null,true,运算
来源: https://www.cnblogs.com/guolingli/p/16522439.html