jQuery的命名冲突的详细分析

jQuery的命名冲突的详细分析
在jQuery,$是jQuery的一个别名,和所有的地方,使用$也可以替换使用jQuery,比如$(' #味精)相当于jQuery(#味精)。然而,当我们将多个js库和另一个js库中定义的符号$,我们冲突时,我们使用$象征以下是介绍两库文件jquery.js和prototype.js为例例。

首先,介绍了后jquery.js prototype.js,如:
在这种情况下,我们用以下代码编写我们自己的js代码:

$(#味精)隐藏();

始终代表着美元美元符号是定义在jQuery,它也可以用jQuery(#味精)。隐藏();如果我们想使用$定义在prototype.js,我们将介绍它。
案例二:jquery.js之前引入prototype.js,如:
在这种情况下,我们用以下代码编写我们自己的js代码:

$(#味精)隐藏();

在出席这次prototype.js定义的美元符号,如果我们想打电话jquery.js工厂选择功能,我们只能用全名jQuery(#味精)隐藏()。

在第一个js库文件顺序的第一个介绍下,如何正确使用在不同js库中定义的$符号。

1。使用jquery.noconflict()
方法作用是让jQuery放弃所有权和收益美元美元prototype.js的控制,因为jquery.js介绍之后,因此有权控制的最后一件事是jQuery,它的返回值是jQuery,我们称这个方法的代码时,我们不能使用jQuery美元的方法调用。当时,$表示美元Prototype.js库中定义如下:

JQuery.noConflict();

/ /这里不再写($ #味精)(隐藏),美元符号定义在js。
JQuey(味精#)隐藏();

从此,美元是美元的定义和prototype.js美元,美元的jquery.js不能再次使用,仅以美元jquery.js美元全称jQuery。
两。自定义jQuery的别名
如果我们认为,第一种方式是使用jquery.noconflict()方法,我们只可以使用jQuery的全名是比较麻烦的。我们可以重新定义jQuery的别名:

VaR J = jquery.noconflict();
J(#味精)。隐藏(J); / /这里的jQuery的代表
此后,将是美元美元美元和定义prototype.js,美元jquey.js不能再次使用,只有使用$ J作为jQuery在jquey.js别名。
三。使用语句块,你仍然可以使用美元jquery.js定义在语句块,如下:
JQuery.noConflict();
jQuery(文档)Ready(函数($){)
$(#味精)。隐藏(); / /这个方法中使用的美元事件定义在jquery.js准备。
});

或使用下列语句块:

(函数($){)
的…
$(#味精)。隐藏(); / /现在使用的这一块是指在jquery.js。
}(jQuery)

如果JS库文件的第二种情况介绍了如何使用jquery.js美元,我们仍然可以使用上面描述的方法块,如:
复制代码代码如下所示:

(函数($){)
的…
$(#味精)。隐藏(); / /现在使用的这一块是指在jquery.js。
}(jQuery)
这种使用语句块的方法非常有用。当我们编写jQuery插件时,我们应该使用这种方法,因为我们不知道如何在特定的工作过程中引入各种js库,但是编写块的方式可以屏蔽冲突。

(函数($){ })(jQuery)

前1个(函数({)})()这种形式是创建一个匿名方法并执行(函数())},这是括号后面的匿名方法是立即调用该方法)。
这可以创建一个范围,以确保内部变量不与外部变量冲突,例如在jQuery中定义的变量,例如jQuery。

(功能(2美元){ })(jQuery)写作的作用主要是确保jQuery和其他库或冲突变量首先是确保jQuery变量名(jQuery内部和外部冲突的自由$和jQuery是一个名称和其他变量是两jQuery和冲突概率其他变量之间的恐惧美元非常小)和传入的匿名对象,对象参数名匿名$(事实上,jQuery是一样的)然后你就可以自由的在(功能($){ })(jQuery)写插件,你不需要考虑是否有是一个冲突与外部世界的变
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部