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]
基本类型传递的是真实的值
引用类型传递的是真实值的引用
基本类型 对复制的值的修改 不会影响到原有的值
引用类型 对引用的修改 会影响到真实的值