对于这个$号感觉疑惑,有什么特殊含义吗?
$
就是一个合法的标识符字符,所以 $bus
和 _bus
一样都是正常的标识符,可用作属性名。这里就是表示它比较特殊,不是 Vue 自带的属性,而是注入的属性。
如果是在不允许 $
用于标识符的语言中,这种作特殊标记的变量常常会起名为 _bus
或者 __bus
。
没什么特殊含义,最初的时候是因为各种符号在一定场合都有特定的意义,$
符号是其中用的最少的,所以拿此符号作为默认变量名,像是jQuery。
后来只是延续了这样的习惯,加个少用的 $
符号避免容易重名。
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.7k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
3 回答10.3k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
7 回答9.8k 阅读
其实就是一个字符串,
this.$bus
和 你自己起的this.myBus
其实是一样的。对于JS来说都是一个变量名。只不过对于我们来说
$
和_
开头的变量会认为是特殊的。_
一般会认为是内部的局部变量,$
会被认为是全局变量。