首页 > 代码库 > 高级程序设计第三章

高级程序设计第三章

有五种简单数据类型: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

 

高级程序设计第三章