javascript的7个技巧 1

来源:互联网 发布:淘宝卖家开通蚂蚁花呗 编辑:程序博客网 时间:2024/06/06 14:04

原文地址:http://linux.cn/article-1181-1.html

简洁写法

JavaScript里我最喜欢的一种东西就是生成对象和数组的简写方法。在过去,如果你想创建一个对象,你需要这样:

·········10········20········30········40········50········60········
1.var car= new Object();
2.car.colour= 'red';
3.car.wheels= 4;
4.car.hubcaps= 'spinning';
5.car.age= 4;

下面的写法能够达到同样的效果:

·········10········20········30········40········50········60········
1.var car= {
2.colour:'red',
3.wheels:4,
4.hubcaps:'spinning',
5.age:4
6.}

简单多了,你不需要反复使用这个对象的名称。这样 car 就定义好了,也许你会遇到 invalidUserInSession的问题,这只有你在使用IE时会碰到,只要记住一点,不要右大括号前面写逗号,你就不会有麻烦。

另外一个十分方便的简写是针对数组的。传统的定义数组的方法是这样:

·········10········20········30········40········50········60········
1.var moviesThatNeedBetterWriters= new Array(
2.'Transformers','Transformers2','Avatar','IndianaJones4'
3.);

简写版的是这样:

·········10········20········30········40········50········60········
1.var moviesThatNeedBetterWriters= [
2.'Transformers','Transformers2','Avatar','IndianaJones4'
3.];

对于数组,这里有个问题,其实没有什么图组功能。但你会经常发现有人这样定义上面的 car ,就像这样

·········10········20········30········40········50········60········
1.var car= new Array();
2.car['colour']= 'red';
3.car['wheels']= 4;
4.car['hubcaps']= 'spinning';
5.car['age']= 4;

数组不是万能的;这样写不对,会让人困惑。图组实际上是对象的功能,人们混淆了这两个概念。(转载注,这里所称的图组通常称为关联数组、散列、hash,而且这种写法其实是合法的)

另外一个非常酷的简写方法是使用与三元条件符号。你不必写成下面的样子…

·········10········20········30········40········50········60········
1.var direction;
2.if(x< 200){
3.direction= 1;
4.else {
5.direction= -1;
6.}


你可以使用三元条件符号简化它:

·········10········20········30········40········50········60········
1.var direction= x < 200 ? 1 : -1;

当条件为true 时取问号前面的值,否则取冒号后面的值。