运算符
- 算数运算符 +; -; *; / ; %(取余);
- 赋值运算符 =; +=;-=;*=;/=;%=; ++;–
- 逻辑运算符 &&; ||; !
- 比较运算符 <;>;==;===;<=;>=;!=
- 位运算符 ^
类型转换:
强制类型转换
- 转换为number类型 Number()方法 该方法的参数不能是非数字的
特殊:Number(true)为1 Number(false)为0 该方法可对boolean类型进行转换
parseInt() 可以有进制选择 遇到非数字就停下来 不能对boolean类型进行转换
parseFloat() 遇到非数字就停下来 - 转换成字符串 toString()方法;
特殊:undefined没有toString()方法;
- 转换为number类型 Number()方法 该方法的参数不能是非数字的
- 隐示类型转换
+ - * / % 都能发生隐示类型转换 例如“3”* 1 =3(number)
特殊:true+1 = 2;
NaN:No a number非法运算 它属于number类型
问题:如何判断变量是否为NaN
var nan = 1/'a';//次变量为非法变量 NaN
if(nan==NaN){//false无法判 断
}
if(NaN===NaN){//false 这都不行
}
解决:isNaN()方法 能够判断变量是否为NaN,该方法不能完全判断出NaN
Number.isNaN()能够准确判断出是否为NaN
a++先将a的值赋给表达式 再将a的值加1
++a a的值先加1 再将值赋给表达式
字符串的大小比较:
先比较第一个字母的ASCII码值 相同比较下一个 依次类推
通过charCodeAt()可以查看对应的ASCII码值
==和===的区别:
==只判断值是否相同 ‘10’==10 true
===判断值和数据类型
undefined==null 返回true
undefined===null 返回false
^位运算可以交换两个变量值的位置
例如:
var num1 =10;
var num2 = 20;
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;//就可以互换值
alert(5+ +’2’ + ‘1’)注意++之间存在空格 弹出71
+ - 可以看成正负号 对字符串的2进行隐式转换
惰性赋值
var a = 10&&5;
alert(a);//值为5 &&碰到假才会停下来 判断的时候称为短路
var b = 0||10;
alert(b);//值为10 ||碰到真就停下来 判断的时候称为短路
Js中假的情况 false 0 undefined null ” NaN这些表示假。
if(条件){
}else{
}
if(条件){
}else if{ //else if 可以存在多个
}else{
}
var type =1;
switch(type){
case:1
break;
case:2
break; //case可以存在多个 但每个都要加上break 若不加则会出现击穿现象
default:
break;
}