js的语句与高级语言如c#,java基本差不多,分支的:if ,else,else if ,switch().循环的:for ,while, do while, continue,break,return.今天重点说下for in
1.for in
语句结构:for(var t in obj){statements;}
实现的功能:遍历对象obj的属性,或者遍历数组中的元素的下标,因此,obj代表的是一个对象或数组。其实,数组也是一种object,可以把数组的下标理解成对象的属性:
1 //declare an object 2 var obj = { name: "zhangsan", age: 21, home: "beijing" }; 3 for (var i in obj) { 4 alert("property:" + i + ",value:" + obj[i]); 5 } 6 //declare an array 7 var a2 = [1, 2, 3, 4, 5]; 8 for (var a in a2) { 9 alert("index:" + a + "value:" + a2[a]); 10 }
有一点需要注意,for in 对元素属性的遍历是无序的,同时,并不是对象所有的属性都会遍历出来,它只会遍历用户自定义的属性,而对于内建(built-in)的属性,包括内建的方法,是不会遍历到的。
2.温习delete
对于用var关键字声明的变量,delete操作返回false.这是由于,var 关键字声明的变量,如果不在任何代码块(function,for循环)内,那它就是全局变量,也是全局对象global object的属性;如果在任何代码块(function,for循环)内,那它就是局部对象:call object的属性。这些属性是不能删除的。
仅用var声明,未做初始化的变量,其value为undefined;
1 var obj = { name: "zhangsan", age: 21, home: "beijing" }; 2 var array = new Array(); 3 var j = 0; 4 for (array[++j] in obj); 5 for (var t in array) { 6 alert("index:" + t + ",value:" + array[t]); 7 } 8 9 function test1() { 10 var t = "hello"; 11 var b1 = delete t; 12 alert(b1);//false--can‘t delete 13 } 14 test1();
恩,今天主要掌握了这些东西,明天继续加油
原文:http://www.cnblogs.com/baweier2013/p/5128740.html