一、JavaScript核心篇
1.JavaScript的类型:2大类,原始类型和对象类型。
原始类型包括:number,string,boolean,null,undefined.其中null和undefined是两种特殊类型。
- typeof null === Object,这表明null可以认为是一种特殊的对象的值,代表没有对象。通常,null被视为一种单独类型的单独成员,可以是numbers,strings,Object的值,意味着no value;
- 而typeof undefined === undefined。undefined通常是声明了一个变量,但没有给变量付值,导致变量的值为undefined。
对象类型:除了上面5种原始类型,其余的都是对象类型。js里的对象是属性的集合(json)。
二.变量
未用var声明的变量会被创建为全局变量。
4.3.1
js中没有块级作用域,函数中声明的所有变量在函数内都有定义。
----------------------------------------------
function test(){
for(var k=0;k<10;k++){
alert(k);
}
alert(k); //10
}
----------------------------------------------
var scope = "global";
function f()
{
alert(scope);//undefined, not global
var scope = "local";
alert(scope);
}
f();
----------------------------------------------
4.6.1
js解释器运行时先创建一个全局对象,对象的属性就是js程序的全局变量。
4.6.2
js函数都运行在自己独有的执行环境。具有自己的调用对象。调用的对象的属性就是该函数的局部变量。