Jquery - 不干扰 js 代码的标志(别名)

发布于 2024-12-10 11:41:47 字数 73 浏览 0 评论 0原文

我们知道,jQuery 使用 $ 作为 jQuery 的别名。
还有其他标志可以用于我自己的 Javascript 框架吗?

As we know, jQuery uses $ as an alias for the jQuery.
Are there others signs available that i can use for my own Javascript-Framework?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

从﹋此江山别 2024-12-17 11:41:47

请记住,“别名”只是另一个变量。除了下划线和美元字符之外,来自 ECMAScript 5 规范

IdentifierName 中也允许使用 Unicode 转义序列,
他们为 IdentifierName 贡献一个字符,如
由 UnicodeEscapeSequence 的 CV 计算(参见 7.8.4)。这 \
UnicodeEscapeSequence 之前的字符不会贡献给
标识符名称。 UnicodeEscapeSequence 不能用于放置
字符转换为 IdentifierName,否则将是非法的。在
换句话说,如果 \UnicodeEscapeSequence 序列被替换为
它的 UnicodeEscapeSequence 的 CV,结果仍然必须是有效的
与 IdentifierName 具有完全相同的字符序列
原始标识符名称。内标识符的所有解释
该规格基于其实际特征,无论
是否使用转义序列来贡献任何
特定字符。

简而言之,有效的 JavaScript 变量标识符必须以字母、美元符号或下划线符号开头,并且可以包含 unicode 字符转义序列。规范中语法的相关部分:

标识符开始::
    Unicode字母
    $
    _ 
    \ Unicode转义序列

在编写库的情况下,如果您想使用 $ 应该不会有问题 - jQuery 提供了 noConflict 方法来处理这种情况。

Remember that an "alias" is just another variable. Aside from the underscore and dollar characters, from the ECMAScript 5 spec:

Unicode escape sequences are also permitted in an IdentifierName,
where they contribute a single character to the IdentifierName, as
computed by the CV of the UnicodeEscapeSequence (see 7.8.4). The \
preceding the UnicodeEscapeSequence does not contribute a character to
the IdentifierName. A UnicodeEscapeSequence cannot be used to put a
character into an IdentifierName that would otherwise be illegal. In
other words, if a \ UnicodeEscapeSequence sequence were replaced by
its UnicodeEscapeSequence's CV, the result must still be a valid
IdentifierName that has the exact same sequence of characters as the
original IdentifierName. All interpretations of identifiers within
this specification are based upon their actual characters regardless
of whether or not an escape sequence was used to contribute any
particular characters.

To put it simply, valid JavaScript variable identifiers have to start with a letter, dollar symbol or underscore symbol, and can contain unicode character escape sequences. The relevant part of the grammar from the spec:

IdentifierStart ::
    UnicodeLetter
    $
    _ 
    \ UnicodeEscapeSequence

In the case of writing a library, if you want to use $ there shouldn't be a problem - jQuery provides it's noConflict method to handle that exact situation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文