JavaScript红宝书笔记一

14次阅读

共计 1771 个字符,预计需要花费 5 分钟才能阅读完成。

1.JavaScript 由三个部分组成:ECMAScript(提供核心语言功能)、DOM(文档对象模型,提供访问和操作网页内容的方法和接口)、BOM(浏览器对象模型,提供与浏览器交互的方法和接口)

2.JavaScript 概念:是一种专为与网页交互而设计的脚本语言

3. 标识符命名规则:首字符必须是字母 / 下划线(_)/ 美元符号($),其余字符由字母 / 下划线(_)/ 美元符号($)/ 数字组成

4.ECMAScript 基本数据类型:Undefined、Null、Boolean、Number、String
复杂数据类型:Object

5.typeof 检测 Object 或者 Null 的数据类型会返回“object”, 因为特殊值 null 会被认为是一个空的对象引用
Safari5、Chrome7 版本之前的浏览器调用 typeof 检测正则表达式会返回“function”,其它浏览器返回“object”

6.alert(未初始化变量)会显示“undefined”;
alert(未声明变量)会产生错误;

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,即空对象指针

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

正文完
 0