js中,定义的变量是没有任何类型的,赋值后才会有数据类型
js弱类型语言,java强类型语言
NaN:not a number;
typeof 获取变量类型
var b=null;
console.log(typeof b)
var a = 1e309;
console.log(a);//Infinity -- 无穷大
console.log(typeof a);//number
console.log(a+a);//Infinity
console.log(a-a);//Infinity-Infinity=NaN
console.log(typeof (a-a));//number
js 判断语句中,不仅仅只能用boolean
false:"",0,null,NaN,undefined
true:有内容的string,非0的number,
判断一个变量是否为NaN
js 中重名的方法不存在重载,只会覆盖
arguments:参数集,自动接受方法中传递的所有参数
function add() {
var sum = 0;
for(var i in arguments){
sum += arguments[i];
}
return sum;
}
parseInt()
var a = "1";
//parseInt可以把string类型转换成number类型
console.log(typeof parseInt(a));
var a =3.1415;
console.log(parseInt(a));//去除小数
console.log(parseInt('f',16));//把f当成16进制的数,转换成10进制输出
console.log(parseInt('17',8));
console.log(parseInt('15',10));
isFinite()
console.log(isNaN(NaN));//判断是否为NaN的值
//判断是否为非Infinity或非undefined或非NaN,是则返回true,否则返回false
console.log(isFinite(0));