基本概念

一切皆对象

变量

变量的定义、内存分配、作用域和生命周期?

基本数据类型和引用类型

JavaScript中的变量有两种类型:基本数据类型和引用类型;在变量的生命周期内,类型可以根据赋予其值的不同而改变,比如:

var a = "strong"; 
console.log(typeof a);  // a 为string类型
a = {             
    "name": "Jim Green"
};
console.log(typeof a);  // a 为object类型

这也是JavaScript中的变量是弱类型的本质;

基本数据类型包括:Boolean、Number、String、Null、Undefined; 引用类型:Object、Array、Function;

关于“基本数据类型”和“引用类型”的几点不同:

function setName(obj) {
    obj.name = "LiLei";
    obj = new Object();
    obj.name = "HanMeimei";
}
var person = new Object();
setName(person);
console.log(person.name);    // "LiLei" 而不是 "HanMeimei";

关于几点疑问: