2010.08.26(2)――― javascript 权威指南
1. JavaScript没有块状作用域,函数中声明的所有变量在整个函数中都有定义
例:
function test(flat){
var t = "xx";
if(flat){
var k = "hehe";//k都出都有定义,不限于这个代码块
}
for( var i=0;i<3;i++){//i也到处都有定义,不限于循环中
alert(i);
}
alert(i);//3
alert(k);//"hehe"
}例:
function test(){
alert(i);//返回undefined 不会报错
var i = "hehe";
alert(i);//"hehe"
}2. 基本类型和引用类型
JavaScript中 基本类型有 数值 布尔型 null
引用类型有 对象 数组 函数
基本类型:
var a = 3; var b = 3; b = 4; alert(a);//仍为3
引用类型:
var a = [1,2,3]; var b = a; b[0] = 99; alert(a);//[99,2,3]
基本类型传递的是真实的值
引用类型传递的是真实值的引用
基本类型 对复制的值的修改 不会影响到原有的值
引用类型 对引用的修改 会影响到真实的值