必威体育下载基督教Heilmann

您目前正在浏览learningjavascript类别的存档。必威体育简介必威体育下载

“learningjavascri必威体育下载pt”类别的存档

JavaScript的快捷符号对“一般开发人员”来说不应该是什么魔法

周二,11月27日,2007

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

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

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

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

var链接=  数组)链接[0] = '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链接= [
  'http://cuteoverload.com'
  “http://icanhascheezburger.com”
  [一百二百二十“福”]
  'http://pencilsatdawn.wordpress.com'
  'http://apelad.blogspot.com' //<--最后一个,没有逗号!
]

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

链接。“http://dailypuppy.com”)链接[链接。长度] = 'http://bigeydeer.wordpress.com'

关联数组-对象管理组织!矮种马!

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

var链接=  数组)链接[“可爱超载”] = 'http://cuteoverload.com'链接[“我可以吃奶酪汉堡包”] = “http://icanhascheezburger.com”链接[“黎明的铅笔”] = 'http://pencilsatdawn.wordpress.com'链接[“霍波托比亚”] = 'http://apelad.blogspot.com'

这是最高程度的背叛。这是一个令人困惑的javascript特性,因为您在这里创建的不是真正的数组,但一个对象。需要证据吗?做一个警报(typeof链接)或尝试警报(链接[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克里斯= {头发 “红色”年龄 三十二城市 伦敦
}

您可以使用对象属性当他们没有任何空间或对象(财产)当它们有空间的时候。例如:

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部分=文档。getElementById“特殊”)
  如果部分){部分=文档。getElementById“主要”)
  }

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

  var部分=文档。getElementById“特殊”) γ文档。getElementById“主要”)

如果第一个未定义,第二个值作为值分配给section。

谢谢你的时间!

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