![]() |
1
3
我使用的想法与雅虎模块模式和我的自动完成工作。谷歌雅虎模块模式。 http://www.yuiblog.com/blog/2007/06/12/module-pattern/ http://ajaxian.com/archives/a-javascript-module-pattern
我用*1和*2标记了我尝试自动完成的地方。 在*1中,我得到了一些_constant和privatestuff方法,如果我把它放在这里(autocomplete),我就可以访问return{}块中的所有方法和属性。 当我在*2上尝试自动完成时,我得到了return{}块中的所有方法和属性。 有些_常量和privatestuff方法在那里是不可见的,因为它们是“私有的”。 对我来说,自动完成的水平相当不错。 |
![]() |
2
1
我想如果你读到一些关于道格拉斯·克罗克福德的东西会很好。他是雅厚御框架的建筑师。在那之后,你可以更好地了解如何构建一个伟大的框架。对于参数有两个选项。1.-通过对象示例发送
你可以检查这个选项是否存在。 第二个不好的是检查参数是否未定义。
还有一个评论为什么要构建一个新的javascript框架?使用prototype、jquery、mootols、yui。为什么要重新发明轮子? |
![]() |
3
1
这是对 mwilcox's post .
这个例子实际上是可行的。自从
现在,我不倾向于隐藏我的变量,即我使用伪经典模式或原型模式并在
打算
带有
为了防止代码污染全局命名空间,我有一个构建过程,它将模块包装在一个闭包中,并将公共api导出到命名空间。jquery也使用这种技术。你可以在他们的源代码(看intro.js&outro.js)中看到 Github . 这将允许您使用允许ide(或带有vim的ctag)查看api的模式,同时还可以防止全局名称空间的污染。 |
![]() |
4
0
我的图书馆是这样写的:
这样,在geany(使用ctag)
|
![]() |
5
0
我建议您不要使用私有变量,但我知道您希望将它们隐藏起来,不让intellisense知道。我就是这样做的:
这样你就可以在一个封闭的私人物品和你的图书馆应该是可访问的。 [编辑]。我笨拙地没有将mylibrary包含在匿名函数中,并且它看不到私有变量。哎呀。] 顺便说一下,我认为私有变量不好的原因是: http://clubajax.org/javascript-private-variables-are-evil/ |
![]() |
AndreaNobili · 这个promise示例究竟是如何工作的? 7 年前 |
![]() |
Gnik · 在d3.js中鼠标悬停时,如何获取相应位置的值? 12 年前 |
![]() |
KOGI · 有没有办法使用与JSON中不同的属性名称? 12 年前 |