我正在使用 Crockford 模块模式并使用下划线来表示“私有(private)”变量。
我的工作可能会用在使用 underscore.js 的 html 页面中,据我所知,它使用下划线来表示自身,很像 $ 表示 jQuery。我的问题- 我使用下划线会不会把事情搞砸,因为它会被读作下划线库?
我知道下划线通常使用 _.stuff --- 我的变量名是格式 _varName。那么点是否可以防止冲突?
谢谢!
最佳答案
你应该没事的。下划线只使用“_”。它不使用 _myvarname,它只使用 _。
原因有一个 .是因为 _ 是 _ = {key1:value1, key2:value2, ...}
中的对象,它包含各种函数(例如 each)作为对象 _ 的属性:(例如 _ .each()).
这就像 jQuery 使用 $,除了 jQuery 的 $ 是一个函数。
因此,只要您的变量都没有被称为“_”,就可以了。
下划线中还有一个选项可以使用其他东西(例如 U 或其他字符)来保存下划线对象,以防 _ 需要在其他地方使用。然而,这可能是不必要的。
关于javascript - 模块模式中带有下划线的 Javascript “private” 变量名是否会与 underscore.js 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17953327/