有五种简单数据类型:Underfined Null Boolean Number String ,和一种复杂数据类型Object
typeof null 返回的是object,
0.1+0.2的结果不是0.3,而是0.30000000000000004。
NaN与任何值都不相等,包括NaN本身, isNaN()在接收到一个值之后会尝试把这个值转换为数值。
isNaN(NaN) //true
isNaN(10)//false
isNaN("10")//false
isNaN("blue")//true
isNaN(true)//false 可以被转化为1;
isNaN()首先调用valueOf方法,确定该方法返回的值是否可以转为数值,如果不能,则基于这个返回值调用toString();
在使用parseInt()的情况下,最好明确指定基数,
var num = parseInt("AF",16)//表示16进制 175
var num = parseInt("AF")//NaN
toString()
var num = 10;
num.toString() //"10"
num.toString(2) //"1010"
num.toString(8) //"12"
num.toString(10) //"10"
num.toString(16) //"a"
var value1 = 10;
var value2 = true;
var value3 = null;
var value4 ;
String(value1) ;//10
String(value2) ;//"true"
String(value3) ;"null"
String(value4) ;"undefined"
Obeject的每个实例都具有下列属性和方法。
constructor:保存着用于创建当前对象的函数。
var o = new Object;
hasOwnproperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName),必须以字符串的形式指定(例如:o.hasOwnproperty("name));
isPrototypeOf(Object):用于检查传入的对象是否是传入对象的原型;
propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举,必须以字符串的形式指定。
toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应;
toString():返回对象的字符串表示;
valueOf():返回对象的字符串、数值、或布尔值表示,通常与toSring的返回值相同
执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的(副效应)
var num1 = 2;
var num2 = 20;
var num3 = --num1+ num2;//21
var num4 = num1+num2//21
var num1 = 2;
var num2 = 20;
var num3 = num1--+ num2;//22
var num4 = num1+num2//21
原文:http://www.cnblogs.com/mr-pz/p/5902011.html