Sta*_*ers 11 javascript jquery
我理解如何定义这样的函数:
function myfunc(x,y,z) {
alert("Just an example " + x + y + z)
}
Run Code Online (Sandbox Code Playgroud)
但不是这个:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
(function ($) {
$.fn.idle = function (x, y, z) {
alert("Just an example " + x + y + z)
}(jQuery));
</script>
Run Code Online (Sandbox Code Playgroud)
以上是我正在使用的库的一部分,但我根本无法理解这$.fn.idle一点.
它在做什么?它以某种方式定义了一个名为'idle'的函数,但是$.fn呢?那(function ($) {部分怎么样?我再次明白,$(document).ready(function() {但(function ($) {完全是外星人.这是一个简短的手吗?
(jQuery));底部有什么意义?
一个立即调用的功能表达,其别名jQuery到$其范围内:
(function($) {}(jQuery));
Run Code Online (Sandbox Code Playgroud)
它立即创建并执行一个函数.这样,您可以$在函数内部使用jQuery,无论全局$引用是什么.适用于使用的页面jQuery.noConflict().在IIFE内声明的变量也不会泄漏到全局范围.
至于问题的其他部分,$.fn === jQuery.prototype.因此,通过向jQuery原型添加方法,您可以在任何jQuery对象上调用它.例如:
$.fn.doSomething = function(){}; //add a method to the jQuery prototype
$('selector').doSomething(); //then you may call it on any jQuery object
Run Code Online (Sandbox Code Playgroud)
有关jQuery插件创作的更多信息.
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |