gpt4 book ai didi

javascript - 为什么 javascript 允许 $ 作为函数名称?

转载 作者:行者123 更新时间:2023-11-28 11:05:17 25 4
gpt4 key购买 nike

我开始喜欢 jQuery,但作为 PHP 开发人员,我讨厌使用它

$().stuff

众所周知,PHP 中的 $ 标记变量。我猜 javascript 中的 jQuery 声明了一个像这样的函数

函数 $(element) {/*stuff*/}

javascript 是否允许 $ 作为函数的名称?这是一个好的行为吗?

我知道只有标准的 [0-9a-zA-Z_] 可以是 funcs/vars 的名称。

我错过了什么吗?

谢谢

最佳答案

在 PHP 中使用 $ 是一个彻头彻尾的错误,这也是 Perl 的发明者所犯的。变量前缀在成熟的计算机语言中是多余的,因为像 foobar 这样的标识符可以被假定为没有限定的变量 - 还有什么标识符可以识别吗? :-) 问题是发明这些语言的业余爱好者非常熟悉 Unix shell,他们显然没有意识到位于 shell 变量引用前面的 $,例如 $ PATH 并不是一个漂亮的语言特性,而是一个丑陋的必需品,因为在 shell 脚本中,单词可以正常地“以其本身”的形式出现,就像你说的那样:

$ echo PATH
PATH
$ echo $PATH
/usr/local/bin:/usr/bin:/bin

换句话说,像 $ 这样的转义字符表示“这是一个变量!”在像 shell 这样的文本替换语言中是必要的,并且转义对于 TCL 之类的东西也很重要,当然,在现代模板语言中,你必须能够区分所有正常的除了引入动态信息的变量引用和循环之外,还应复制到网页中的文本。

但是普通的编程语言通过文本替换来工作,因此 Perl 和 PHP 中的 $ 是粗糙和噪音的。

由于 $ 在 JavaScript 中没有其他用途,因此是否将其用作变量的“普通字母”只是一个简单的审美判断。 JavaScript 说"is",Python 说“否”,我已经习惯了这两种选择。我猜现在对我来说“看起来像 JavaScript”,因为 $ 是有效的!

但是在的情况下,你不应该让你的审美判断受到 Perl 和 PHP 的可怕选择的影响,这是错误的选择!相反,问问自己 $ 看起来是否足够像大写的 S 以至于你可以认为它“足够接近一个字母”,或者它看起来是否永远像一个符号你。这才是真正的选择。

关于javascript - 为什么 javascript 允许 $ 作为函数名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5362274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com