基本类型
赋值是建立副本,两个变量值并无关联
Undefined
Null
Boolean
Number
String
引用类型
赋值变量是引用同一个对象,改变其值是改变引用对象的值
引用类型可以动态建立、修改、删除其属性和方法
参数
函数参数是函数的局部变量,按基本类型传递值,实际是建立副本,传递后在函数内部改变,不会影响外部变量的值。
检测类型
alert ( typeof a ); 检测基本类型,引用类型返回object (Safari 5和 Chrome7之前版本正则表达式返回function)
alert ( person instanceof Object );//变量是Object 吗? 用来检测引用类型
执行环境
执行环境定义了变量或函数有权访问其他数据,决定了它们各自的行为。
var color = "blue";
function changeColor () {
var anotherColor = "red";
function swapColor () {
var tempColor = anotherColor;
anotherColor = color;
color = tempColor;
//这里可以访问 Color、anotherColor 和 tempColor
}
//这里只可以访问 Color、anotherColor
}
//这里只可以访问 Color
changeColor();
延长作用域链
try-catch语句的catch
with语句
没有块级作用域
{ }是不能建立作用域的,特别注意 if for中声明的var i 的作用域。
网友评论