javascript1.7新语法(2)
4.数组领悟。
这是来自python的语法,现在引入js可以极大的提高生产力。
语法如下array=[value for each (variable in values) condition ];
var a=[1,3,6,13,0,94,222];
A.
1 for each(i in a){ if(i){console.log(i)}} //类似for in的古老用法。
B.
1 var b=[i*2 for each(i in a) if(i%3===0)];// [6,12,0,444] 得到一个新数组
C.
1 var b=(i*2 for each(i in a) if(i%3===0));//获得一个生成器。
2
3
4 try{
5
6 while(b){
7
8 console.log(b.next());// 6 12 0 444
9
10 }
11
12
13 }catch(e){};
D. 处理对象
1 for each(let [j,k] in new Iterator(a)){
2
3
4 console.log(j +' '+k)
5
6
7 };
5.结构赋值
这个非常简单
1 var [a,b]=[1,2,3,4]; //a=1 b=2
2 var {width:px,height:pec}={width:80,height:'50%'};//px 80 pec 50%
6.let关键字 创建块级作用域
在现在使用广泛的javascript1.5是没有块级作用域的。用var定义变量,由于解析器变量提升的关系经常不小心就踩到地雷,现在福音来了!
1 void function (){
2 if(true){
3 let a=1;
4 console.log(a);//1
5 }
6 console.log(a);//undefined
7 }()
在看看var
1 void function (){
2 if(true){
3 var a=1;
4 console.log(a);//1
5 }
6 console.log(a);//1
7 }()
摘自 菲尼克斯
- 发表评论
-
- 最新评论 更多>>