NaN: Not a Number 例如0/0。
注意NaN与任何值都不相等,包括它自己。例如:NaN == NaN; 为false
所以如果要判断一个值(例如a)是否为NaN不可以使用if(a == NaN)而是使用相应的函数isNaN(a);
js中创建数组语句为:new Array(1, 2, 3, asd);
或者是var arr = [1, 2, 3.14, ‘Hello’, null, true];
获取数组长度例:arr.length
还可以直接对数组的长度赋值。赋值后对应数组结构也会发生相应改变。
js中的对象类似于C中的结构体,例如:
var person = {
name: ‘Bob’,
age: 20,
tags: [‘js’, ‘web’, ‘mobile’],
city: ‘Beijing’,
hasCar: true,
zipcode: null
};
js是一个动态语言,即每个变量声明时都是用var,但是不会限制它的数据类型。就算给一个变量赋值,之后也可以直接赋值成其他的数据类型。
但是字符串内容是不可变的,例如:
var s = ‘Test’;
s[0] = ‘X’;
alert(s); // s仍然为’Test’
要显示变量的内容,可以用console.log(x),打开Chrome的控制台就可以看到结果。
关于strict模式:
在js设计之初,为了方便学习,所有的变量并不强制使用var去声明,但是这样的变量就成了全局变量,不利于后续开发。为了修补JavaScript这一严重设计缺陷,ECMA在后续规范中推出了strict模式,在strict模式下运行的JavaScript代码,强制通过var申明变量,未使用var申明变量就使用的,将导致运行错误。
启用strict模式的方法是在JavaScript代码的第一行写上:
‘use strict’;
转义字符 \