JavaScript红宝书笔记(一)---JS概述、变量及基本数据类型等

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()方法转换成字符串的状况

相关文章
相关标签/搜索