JS_语句

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();

 恩,今天主要掌握了这些东西,明天继续加油

原文地址:https://www.cnblogs.com/baweier2013/p/5128740.html