Professional Javascript 学习笔记 第一章
- 通过"use strict”;声明js文件或方法使用strict模式。
- javascript 6种数据类型:String,Number,Boolean,Object,undifined,function。可以通过typeof判断,typeof括号可选,因为typeof是一个operator,不是function。
var message; //this variable is declared but has a value of undefined
//var age
alert(typeof message); //”undefi ned”
alert(typeof age); //”undefi ned”
- undefined is a derivative of null,so?? alert(null == undefined); //true
- alert(0 == false);alert(1 == true);//true???? alert(undefined == false);alert(null == false);//false
- 因为进制原因,要避免小数加减结果判断。alert(0.1+0.2 == 0.3);//false?? alert(0.1+0.2 == 0.30000000000000004);//true
- 一般浏览器的数字极值是Number.MIN_VALUE和Number.MAX_VALUE。Infinity和-Infinity代表正负无穷大。isFinite()方法可以判断数字是否有限。
- NaN代表not a number。isNaN()方法可判断数字。isNaN(true);//true,因为true可以convert to 1.isNaN判断object对象时先调用valueof(),没有调用toString();
- 有三个方法转换数字,Number(),parseInt(),parseFloat()。Number(true)是1,Number(false)是0。parseInt(true)是NaN。
- parseInt(“10”, 2);可以传进制给parseInt,防止不同版本js解析不同。
- 大多数类型数据都有toString()方法,其中number的toString()方法可以传进制进去,显示不同进制的数字。null和undefined没有toString()。String()方法可以兼容null和undefined。
- 每个Object对象都有如下方法。
构造方法
hasOwnProperty(propertyName) //是否包含某属性
isPrototypeOf(object)//是否为某对象prototype
propertyIsEnumerable(propertyName)//属性是否能用for in 枚举
toLocaleString()//返回平台相关属性
toString和valueOf通常一样,都是toString()。
?