首先,请原谅我的低编程技巧,以及询问你可能会发现的事情。我自己学习,没有比这样的在线书籍和网站更多的帮助。
我正在阅读众所周知的“开发骨干网应用程序”。 A. Osmani试图理解并不让事情发生。
我怀疑以下几行:
(这是观点介绍的一部分,http://addyosmani.github.io/backbone-fundamentals/#application-view)
initialize: function() {
this.allCheckbox = this.$('#toggle-all')[0];
this.$input = this.$('#new-todo');
this.$footer = this.$('#footer');
this.$main = this.$('#main');
什么是" this.allCheckbox"," $ input"," $ footer"和" $ main" ?......他是否选择了现有的元素?定义它们?为什么&all; allCheckbox'不以' $'开头和其他人一样?
感谢您的帮助。
答案 0 :(得分:4)
$
前缀变量通常是指jQuery对象(正如您所看到的,他正在选择DOM节点来分配这些变量。这只是一种惯例。
this.$()
方法运行范围的jQuery选择。它在视图$el
元素中找到查询的匹配项。这比搜索整个页面要快一点。他确实在此视图的$el
内选择了已存在的元素。
allCheckbox
没有$
前缀,因为在jQuery对象数组上使用[0]
,实际上就是返回原始DOM节点,不是jQuery对象。使用类似的变量命名可以帮助您在无类型语言中了解该变量可能存在的方法。