变量:js中变量分为基本类型和引用类型
1.基本类型:基本类型的值包括Null,Undefined,Number,Boolean,String
基本类型的值不可以添加属性和方法,当复制基本类型的值时,后者与前者在内存中有各自的空间,两者互不干扰
2.引用类型:引用类型的值有Function,对象
引用类型的值可为其添加新的属性和方法,如下所示:
var myObiect = new Object();
myObiect.title = "对象";
console.log(myObiect.title) //对象
当复制引用类型的值时,其实只是复制了其指针,而它们的都指向同一块内存区域,如下所示:
var myObiect = new Object();
myObiect.title = "对象";
var myObiect1 = myObiect;
console.log(myObiect1.title); //对象
3.判断哪一个值的基本类型可以使用typeof,但是如果判断引用类型,可以使用instanceof操作符,如下所示:
var s = "Nicholas";
var b = true;
var i = 22;
var u;
console.log(typeof s); //string
console.log(typeof i); //number
console.log(typeof b); //Boolean
console.log(typeof u); //undefined
var c = [1,3,3];
var a = Object;
console.log(c instanceof Array); //true
console.log(c instanceof Object); //true
作用域
执行环境有全局环境和函数执行环境之分
函数的局部环境不仅可以访问函数内部的作用域,还可以访问全局作用域
全局作用域只能访问全局环境中定义的函数和变量,无法访问局部环境中的任何变量