1.JavaScript由三个部分组成:ECMAScript(提供核心语言功能)、DOM(文档对象模型,提供访问和操做网页内容的方法和接口)、BOM(浏览器对象模型,提供与浏览器交互的方法和接口)正则表达式
2.JavaScript概念:是一种专为与网页交互而设计的脚本语言浏览器
3.标识符命名规则:首字符必须是字母/下划线(_)/美圆符号($),其他字符由字母/下划线(_)/美圆符号($)/数字组成函数
4.ECMAScript基本数据类型:Undefined、Null、Boolean、Number、String
复杂数据类型:Object设计
5.typeof检测Object或者Null的数据类型会返回“object”,由于特殊值null会被认为是一个空的对象引用
Safari五、Chrome7版本以前的浏览器调用typeof检测正则表达式会返回“function”,其它浏览器返回“object”指针
6.alert(未初始化变量)会显示“undefined”;
alert(未声明变量) 会产生错误;code
var message; //未初始化变量 //var age 未定义变量 alert(message); //"undefined" alert(age); //产生错误
alert(typeof 未初始化变量) 返回“undefined”
alert(typeof 未声明变量) 返回“undefined”对象
alert(typeof message); //"undefined" alert(typeof age); //"undefined"
由于实际上不管对哪一种变量也不可能执行真正的操做接口
7.null值表示一个空对象指针,这也就是检测数据类型返回“object”的缘由;
undefined派生至null值,因此null == undefined 为true;
有意初始化变量为对象,能够设置值为null,即空对象指针ip
8.Boolean类型的值区分大小写,True和False并非其值,只是普通标识符文档
9.
var octalNum1 = 070; // 八进制的 56 var octalNum2 = 079; // 无效的八进制数值——解析为 79 var octalNum3 = 08; // 无效的八进制数值——解析为 8 var hexNum1 = 0xA; // 十六进制的 10 var hexNum2 = 0x1f; // 十六进制的 31
10.NaN 与任何值都不相等,包括 NaN 自己
alert(NaN == NaN); //false
isNaN()函数,不能被转换为数值的值都会致使这个函数返回 true
alert(isNaN(NaN)); //true alert(isNaN(10)); //false( 10 是一个数值) alert(isNaN("10")); //false(能够被转换成数值 10) alert(isNaN("blue")); //true(不能转换成数值) alert(isNaN(true)); //false(能够被转换成数值 1)
11.Number()、parseInt()规则:
若是第一个字符不是数字字符或者负号, parseInt()就会返回 NaN;
若是第一个字符是数字字符, parseInt()会继续解析第二个字符,直到解析完全部后续字符或者遇到了
一个非数字字符。
alert(isNaN(NaN)); //true alert(isNaN(10)); //false( 10 是一个数值) alert(isNaN("10")); //false(能够被转换成数值 10) alert(isNaN("blue")); //true(不能转换成数值) alert(isNaN(true)); //false(能够被转换成数值 1) var num1 = parseInt("1234blue"); // 1234 var num2 = parseInt(""); // NaN var num3 = parseInt("0xA"); // 10(十六进制数) var num4 = parseInt(22.5); // 22 var num5 = parseInt("070"); // 56(八进制数) var num6 = parseInt("70"); // 70(十进制数) var num7 = parseInt("0xf"); // 15(十六进制数)
12.String()能够避免,null、undefined没法使用toString()方法转换成字符串的状况