0 javascript programming-languages specifications
我开始喜欢jQuery,但作为PHP开发人员,我讨厌使用它
$().stuff
Run Code Online (Sandbox Code Playgroud)
众所周知$
,PHP标记变量.我想javascript中的jQuery声明了这样的函数
function $(element) {/*stuff*/}
javascripts是否允许$
作为func的名称?这是一个好行为吗?
我知道只有标准[0-9a-zA-Z_]
可以是funcs/vars的名字.
我错过了什么吗?
谢谢
$
在PHP中的使用是一个彻头彻尾的错误,这也是由Perl的发明者做出的.变量的前缀是一个完整的计算机语言多余的,因为像标识符foo
和bar
可假设为无资质的变量-还有什么会的标识符来识别?:-)问题是发明这些语言的业余爱好者对Unix shell非常熟悉,他们显然没有意识到那些在$
shell变量引用之前的$PATH
内容并不是一个漂亮的语言特性,而是一个丑陋的必要性事实上,在shell脚本中,单词通常可以"自己"出现,就像你说的那样:
$ echo PATH
PATH
$ echo $PATH
/usr/local/bin:/usr/bin:/bin
Run Code Online (Sandbox Code Playgroud)
换句话说,像shell这样的文本替换语言中$
需要一个类似于"这是一个变量!" 的转义字符,并且转义在TCL之类的东西中也很重要,当然,在现代模板语言中,你有除了引入动态信息的变量引用和循环之外,能够区分应该复制到网页中的所有普通文本.
但是普通的编程语言不能通过文本替换来工作,因此$
Perl和PHP中的语言都是残留的和噪音.
由于$
在JavaScript中没有其他用途,因此对于是否将其作为变量的"普通字母"提供是一种简单的美学判断.JavaScript说"是",Python说"不",我已经习惯了两种选择.我想它现在"看起来像JavaScript"对我$
有效!
但是在任何情况下,你都不应该让Perl和PHP的可怕选择让你的美学判断得到通知,这是错误的选择!相反,问问自己是否$
看起来像资本一样S
,你可以认为它"足够接近一个字母",或者它看起来永远像你的象征.这是真正的选择.