原文http://pij.robinqu.me/
预定义的全局变量
arguments encodeURI Infinity Array encodeURIComponent isFinite Boolean Error isNaN Date eval JSON decodeURI EvalError Math decodeURIComponent Function NaN Number Object parseFloat parseInt RangeError ReferenceError RegExp String SyntaxError TypeError undefined URIError
JavaScript的数据类型分为两类: 原始类型和对象类型。JavaScript中的原始类型包括数字,字符串和布尔值。
任何JavaScript的值都可以转换为布尔值。下面这些值会被转换为false
undefined
null
0
-0
NaN
"" // the empty string
//示例: Boolean(null)
所有其他的值,包括所有对象都会转换成true
null表示一个特殊值,常用来描述空值。 对null执行typerof,结果返回object, 也就是null被认为是一种特殊的对象值,含义是非对象。
JavaScript使用undefined标识变量没有初始化。例如函数没有返回值,则返回undefined。undefined是预定义的全局变量(与null不一样,它不是关键字)。
日期与时间
avaScript语言核心包括Date()构造函数, 用来创建表示日期和时间的对象。这些日期对象的方法为日期计算通过了简单的API:
var then = new Date(2011, 0, 1); // 2011年1月1日
var later = new Date(2011, 0, 1, 17, 10, 30) //同一天,当地时间5:10:30pm,
var now = new Date(); //当前日期和时间
var elapsed = now - then; //日期减法: 计算时间间隔的毫秒数
later.getFullYear() // => 2011
later.getMonth() // => 0 从0开始计数的月份
later.getDate() // => 1 从1开始计数的天数
later.getDay() // => 5 得到星期几, 0代表星期日, 5代表星期五
later.getHours() // => 当地时间17 5pm
later.getUTHours() // 使用UTC表示小时的时间,基于时区
全局对象在JavaScript中有着重要的用途: 全局对象的属性是全局定义的符号, JavaScript程序可以直接使用,当解释器启动时,它将创建一个新的全局对象,并给它一组定义的初始属性:
全局属性,比如undefined, Infinity
全局函数,比如parseInt()
构造函数,比如Data(),
全局对象,比如Math和JSON