必威体育下载克里斯蒂安·海尔曼

您当前正在浏览默认类别的存档。必威体育简介

“默认”类别的存档

对于“普通开发者”来说,javascript快捷方式符号不应该是黑色魔法。

星期二,11月27日,二千零七

当发布有关JavaScript开发的文章时,您会遇到许多由发布者和编辑器设置的规则。这是一件很好的事情,因为它让我们的作者保持警觉,让我们更加了解成功出版的真正意义。然而,这也会非常烦人,尤其是当老一套的成语死板的时候。其中之一是“普通的开发人员”不太了解JavaScript快捷符号。

现在,如果你是“普通开发者”,请给我5分钟的时间来完成以下任务:您将了解更多的代码,并且花费更少的时间编写自己的脚本。

数组快捷符号-它是一个时髦的方

我的第一个bugbear是数组。这些在JavaScript中非常有用并且无所不在,但我仍然发现有人编写了复杂的东西,比如:

var链接= 新的 数组(二)链接[] = 'http://cuteoverload.com'(二)链接[1个] = 'http://icanhascheezburger.com'(二)链接[] = 'http://pencilsatdawn.wordpress.com'(二)链接[] = 'http://apelad.blogspot.com'(二)
/…恶心…

这是复杂的(您必须为每个项重复数组名),而且维护起来也很困难。当您更改订单(如果订单很重要)时,您需要更改号码,也一样。没有必要,因为编号是自动为您完成的。您只需使用方括号:

var链接= [
  'http://cuteoverload.com',请
  'http://icanhascheezburger.com',请
  'http://pencilsatdawn.wordpress.com',请
  'http://apelad.blogspot.com' //<--最后一个,禁止逗号!
](二)

从视觉上看,这更明显,也一样。这个缩进可以很容易地监视数组的起始位置和结束位置。更少的线路噪音。

注意,您需要用逗号分隔每个项目,但要确保最后一项没有尾随逗号。甚至可以这样嵌套数组:

var链接= [
  'http://cuteoverload.com',请
  'http://icanhascheezburger.com',请
  [100个,请200个,请20个,请'foo'],请
  'http://pencilsatdawn.wordpress.com',请
  'http://apelad.blogspot.com' //<--最后一个,禁止逗号!
](二)

在那张纸条上,还有一个技巧:向数组中添加一个新项,您可以使用PUP()方法或使用长度属性:

链接。'http://dailyppy.com'(二)链接[链接。长度] = 'http://bigeydeer.wordpress.com'(二)

关联数组-对象管理组织你说什么?小马!

一直坚持的一个神话是,javascript有一个神奇的东西叫做关联数组。这些允许您不仅给项目编号,而且给它们命名!您可以找到如下示例:

var链接= 新的 数组(二)链接[“可爱超载”] = 'http://cuteoverload.com'(二)链接[“我可以吃奶酪汉堡包”] = 'http://icanhascheezburger.com'(二)链接[“黎明的铅笔”] = 'http://pencilsatdawn.wordpress.com'(二)链接[“恐惧症”] = 'http://apelad.blogspot.com'(二)

这是最高程度的背叛。这是一个令人困惑的javascript特性,因为您在这里创建的不是真正的数组,而是一个物体。想要证据吗?–做一个警报(链接类型)或者试试看警报(链接〔1〕).

对象快捷方式(文字)表示法-获得卷曲。

所谓的关联数组实际上是对象,这意味着您还将找到其他认真对待前面示例的脚本,并使用以下脚本:

var链接= 新的 对象(二)链接[“可爱超载”] = 'http://cuteoverload.com'(二)链接[“我可以吃奶酪汉堡包”] = 'http://icanhascheezburger.com'(二)链接[“黎明的铅笔”] = 'http://pencilsatdawn.wordpress.com'(二)链接[“恐惧症”] = 'http://apelad.blogspot.com'(二)

我们又有太多的重复。对于对象,你有一个对象文字符号作为快捷方式,基本上是用大括号:

var链接= {
  “可爱超载” 以下内容: 'http://cuteoverload.com',请
  “我可以吃奶酪汉堡包” 以下内容: 'http://icanhascheezburger.com',请
  “黎明的铅笔” 以下内容: 'http://pencilsatdawn.wordpress.com',请
  “恐惧症” 以下内容: 'http://apelad.blogspot.com' //又一次,没有逗号!
}

分号被替换为通信逗号(高兴,斯图尔特?)(除了最后一个你需要省略的符号)等号变成冒号。如果属性(冒号左边的内容)中没有任何空格,甚至可以去掉引号:

var克里斯= {头发以下内容: “红色”,请年龄以下内容: 32,请城市以下内容: '伦敦'
}

您可以使用对象.属性当他们没有任何空间或对象[属性]当他们有空间的时候。例如:

var链接= {
  “可爱超载” 以下内容: 'http://cuteoverload.com',请
  “我可以吃奶酪汉堡包” 以下内容: 'http://icanhascheezburger.com',请
  “黎明的铅笔” 以下内容: 'http://pencilsatdawn.wordpress.com',请
  “恐惧症” 以下内容: 'http://apelad.blogspot.com' //又一次,没有逗号!
}(二)警觉的链接[“我可以吃奶酪汉堡包”](二)警觉的链接。恐惧症(二)

简单的if-else语句-使用三元符号询问和定义

您可以显著缩短简单的if语句。简单来说,我指的是一个if语句,它指定如下两个值之一:

  var尤伊古伊(二)
  如果城市=== '伦敦'{尤伊古伊= “克里斯”(二)
  } 其他的 {尤伊古伊= “埃里克”(二)
  }(二)

再一次,那里有很多重复。三元符号解决了这个问题:

var尤伊古伊=城市=== '伦敦' 是吗? “克里斯” 以下内容: “埃里克”(二)

那里有很多等号。也许一些括号会让它更清楚:

var尤伊古伊= 城市=== '伦敦' 是吗? “克里斯” 以下内容: “埃里克”(二)

这是怎么回事?定义变量尤伊古伊给它赋值。然后你有一个声明,在这种情况下,变量的比较城市如果它等于字符串伦敦(==值和类型的测试,比==)安全得多。

然后你用问号问这个问题是否正确。冒号左边的选项是满足条件时问题的答案,而冒号右边的选项是不满足条件时问题的答案。任何可能是对或错的条件都可以放在括号内。

var方向= X<最大值 是吗? '左' 以下内容: '右'(二)

使用默认运算符提供回退选项

我最不想谈的是双管()默认运算符。当你想确定某个东西是用默认值设置的时候,这个非常有用。以下结构是不应再出现的内容:

  var部分=文件。GETeleMyByID'特殊'(二)
  如果你说什么?部分{部分=文件。GETeleMyByID'主'(二)
  }

再一次,无用的重复,同样可以写为:

  var部分=文件。GETeleMyByID'特殊' ||文件。GETeleMyByID'主'(二)

如果第一个未定义,第二个被指定为节的值。

谢谢你的时间!

我希望这有助于“普通的开发人员”理解如何在不降低可读性的情况下缩短JS。如果你想要更多关于这些商品的详细信息,看看道格拉斯·克罗克福德关于这件事的文章: