日期:2014-05-16  浏览次数:20450 次

2010.08.26(2)——— javascript 权威指南
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]


基本类型传递的是真实的值
引用类型传递的是真实值的引用

基本类型 对复制的值的修改 不会影响到原有的值
引用类型 对引用的修改 会影响到真实的值