javascript - 模块模式中带有下划线的 Javascript “private” 变量名是否会与 underscore.js 冲突

标签 javascript

我正在使用 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/

相关文章:

javascript - 按列jquery对表格进行排序

javascript - Node读取ts模块/读取代码文件

javascript - 使用 sequelize 原始查询创建后获取记录

javascript - 在 iOS safari 中使用带有输入的 iScroll 时,键盘将滚动条推到视口(viewport)上方并卡住

php - 如何在网站加载前对用户名和密码进行保护

javascript - 链接 promise 强制异步

javascript - Node.js "ws"websocket 服务器在 ~30 秒后随机断开客户端,错误 1006

javascript确保输入文件不为空

javascript - 在 nightwatch-cucumber 中模拟鼠标移出事件

javascript - 使用react-loadable进行代码分割给出错误: Cannot find module "."