我想知道 JQuery 如何将函数名分配给 $ ?
问问题
6374 次
5 回答
12
这是在9384
未压缩库的行完成的(请参阅http://code.jquery.com/jquery-1.7.2.js)
// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;
这个赋值的jQuery
右侧是函数范围的引用(从 line 开始22
):当然你可以创建你最喜欢的快捷方式(例如_
)做类似的事情
window._ = window.jQuery
加载库后,您可以使用_
代替$
or jQuery
。
如果你问这个是因为你已经加载了一些其他的库并且你和引用有冲突,$
看看jQuery.noConflict()
方法
于 2012-04-05T10:21:21.947 回答
5
于 2012-04-05T10:19:15.943 回答
0
我认为他们只是做
window.$ = jQuery;
更准确地说,他们首先节省 $
var jQuery = (function() {
// Define a local copy of jQuery
var jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
},
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$,
于 2012-04-05T10:20:30.733 回答
0
它应该只是全局范围内的正常分配。
$ = Jquery;
应该进行一些安全检查以确保 $ 尚未定义。
于 2012-04-05T10:21:38.787 回答
0
与此类似:
window.$ = function() {
alert('Hello world!');
}
$();
JavaScript 函数名没有什么特别之处$
。这也是可以接受的:
function $() {
alert('Hello world!');
}
于 2012-04-05T10:22:27.407 回答