1.运算操作符
+ - * / % ++ -- += -= /= *= %=
2.比较运算符
> < == >= <= != ,比较结果为boolean值
(1)字符串的比较,比较的是ASCII值
例 :> <
var a = "a">"b";document.write(a); //答案是 false
var a = 1 > 2;document.write(a); //答案是 false
var a = 1 < 2;document.write(a); //答案是 true
var a = "1">"8";document.write(a); //答案是 false
var a = "10">"8";document.write(a); //答案 false,不是十和八比,是字符串一 零和八比,先用开头的一和八比,比不过就不看第二位了;
例:==
var a = NaN == NaN; //答案是 false,NaN 不等于任何东西,包括他自己
var a = undefined == underfined; //答案是 true
var a = infinity == infinity; //答案是 true
3.逻辑运算符
转换成布尔值被认定为false的值:undefined,null,NaN,"",0,false
(1)&& 与运算符
如果表达式布尔值为false则返回表达式的值,如果都为true,则返回最后一个表达式的值,&&与运算符有中断作用,当短路语句使用
(2)|| 或运算符
碰到真就返回,全假为false
4.typeof操作符
typeof 能返回的六种数据类型 number、string、boolean、undefined、object、function
var num = [];console.log(typeof(num)); //返回 object
var num = null;console.log(typeof(num)); //答案 null 返回 object,最 早是代替空对象的
5.显示类型转换
(1)Number( ) 把里面的东西转换成数字
var demo = null;
var num = Number(demo);
console.log(typeof(num) + “:” + num); 答案显示 Number:0
var demo = undefined;
var num = Number(demo);
console.log(typeof(num) + “:” + num); 答案显示 Number:NaN
var demo = “abc”;
var num = Number(demo);
console.log(typeof(num) + “:” + num); 答案显示 Number:NaN
var demo = “123abc”;
var num = Number(demo);
console.log(typeof(num) + “:” + num); 答案显示 Number:NaN
(2)parseInt( ),目的是把里面转换成整数,
var demo = true;
var num = parseInt(demo);
console.log(typeof(num) + “:” + num); 答案显示 number: NaN
var demo = false;
var num = parseInt(demo);
console.log(typeof(num) + “:” + num); 答案显示 number: NaN
var demo = 123.9;
var num = parseInt(demo);
console.log(typeof(num) + “:” + num); 答案显示 number: 123,此处是直接去掉小数,不是四舍五入
var demo = “123abc”;
var num = Number(demo);
console.log(typeof(num) + “:” + num); 答案显示 Number:NaN
(3)parseInt(string, radix),radix是基底,radix范围(2~36)
var demo = “10”;
var num = parseInt(demo ,16); 此时的10是16进制的10,将16进制的10转为10进制数
console.log(typeof(num) + “:” + num); 答案显示 number: 16
(4)parseFloat(string)转换成浮点数字
(5)toString(),
undefined 和 null 不能用 toString
var demo = 20;
var num = demo.toString(8); 以十进制为基底,把 20 转换成 8 进制
console.log(typeof(num) + “:” + num); 答案 24。
(6)Boolean()转换成布尔值 false 和 true
6.隐式类型转换
隐式类型转换内部隐式调用的是显示的方法,
隐式类型转换包括
isNaN () ,++,--,*,% 会调用 number( )
+/-(一元正负),+ ,,&&,|| ,!, <,>,<= ,>= ,== ,!=
undefined>0 答案 false
undefined==0 答案 false
undefined<0 答案 false
null>0 答案 false
null==0 答案 false
null<0 答案 false
undefined == null 答案 true
NaN ==NaN 答案 false,NaN 是唯一一个连自己都不等于的