Javascript 带有jquery、全局命名空间的变量的$prefix
我知道这可能很明显……但当我在变量名前面加上“$”前缀时,jQuery到底在做什么呢。我知道这是在全局名称空间中放置变量,但为什么呢?这完全是错误的Javascript 带有jquery、全局命名空间的变量的$prefix,javascript,jquery,Javascript,Jquery,我知道这可能很明显……但当我在变量名前面加上“$”前缀时,jQuery到底在做什么呢。我知道这是在全局名称空间中放置变量,但为什么呢?这完全是错误的 $是一个普通对象(实际上是一个函数),恰好有一个短名称 $本身是一个全局变量(窗口对象的属性)以$开头的变量(例如var$myvar;)只是另一个变量,没有任何不同 编辑: 如果“前缀”是指: $(myvar) 这不是“前缀”。我想这叫“包装”。它“增强”了变量。您甚至可以“包装”窗口本身 它的作用与jQuery(myvar)相同jQuery是一
$
是一个普通对象(实际上是一个函数),恰好有一个短名称
$
本身是一个全局变量(窗口
对象的属性)以$
开头的变量(例如var$myvar;
)只是另一个变量,没有任何不同
编辑:
如果“前缀”是指:
$(myvar)
这不是“前缀”。我想这叫“包装”。它“增强”了变量。您甚至可以“包装”窗口本身
它的作用与jQuery(myvar)相同
jQuery
是一个函数(如果愿意,可以调用对象)。在JavaScript$
中是变量名中的有效字符。将$
添加到变量没有什么特别的作用
var $a;
var a$b;
var $;
这些只是变量,没有特殊意义
jQuery只是创建了一个窗口。$
引用了窗口。jQuery
用于syntactic sugar:-)您是否声明了一个名称前缀为$
的变量
如果你这样写:
$test = 500;
然后是的,您正在使用名为$test
的变量污染全局名称空间,该变量与任何其他变量都没有区别($
没有特殊效果)。但在JQuery中,您很可能会这样做:
$('test')
这只是一个简单的函数调用。函数名为
$
,参数为'test'
您的意思是在执行以下操作时:
var $li = $("li");
您在
li
前面加了一个$
。无论您如何调用变量,如果您想使用前缀$
,这取决于您自己。如果在调试代码时知道$variableName是jQuery对象,它会对您有所帮助。jQuery无法更改javascript语言的工作方式
有两种方法可以创建全局变量
globalVariable = ...
或
第一个不使用javascript严格模式
执行jquery.js时,它会将全局函数添加到窗口对象中
$和jQuery
它不能改变你的变量是局部变量还是全局变量,这取决于你。谢谢。我之所以认为$prefixed变量被放置在全局名称空间中,是因为当我在Javascript控制台中设置断点时,我在“范围变量”选项卡的“全局”下看到了所有以$为前缀的变量。@ChristianBenincasa这可能是因为您是如何声明变量的,而不是它们的名称。
$(myvar)
被称为“调用函数”(人们有时称之为“包装”它为jQuery对象)<代码>$是一个函数:-P
window.globalVariable = ...