Javascript

js的运算法则

本文主要是介绍js的运算法则,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 相加:

  • 一个string和number相加,会自动转为string,最后返回的是一个字符串
  • 其他的相加返回的是number

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

这篇关于js的运算法则的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!