我刚刚开始编写jQuery插件.我写了三个小插件,但我只是简单地将行复制到我的所有插件中而实际上并不知道它意味着什么.有人能告诉我更多关于这些的事吗?也许有一天解释会在编写框架时派上用场:)
这是做什么的?(我知道它以某种方式扩展了jQuery,但还有其他有趣的事情要知道)
(function($) {
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
以下两种编写插件的方法有什么区别:
类型1:
(function($) {
$.fn.jPluginName = {
},
$.fn.jPluginName.defaults = {
}
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
类型2:
(function($) {
$.jPluginName = {
}
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
类型3:
(function($){
//Attach this new method to jQuery
$.fn.extend({
var defaults = {
}
var options = $.extend(defaults, options);
//This is where you write your plugin's name
pluginname: function() {
//Iterate over the current set of matched elements
return this.each(function() {
//code to be inserted here
});
}
});
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
我可能会离开这里,也许意味着同样的事情.我很迷惑.在某些情况下,这似乎不适用于我使用Type 1编写的插件.到目前为止,Type …
每次有人提到测试时undefined,都会指出它undefined不是一个关键字,因此可以设置为"hello",所以你应该使用 typeof x == "undefined".这对我来说似乎很荒谬.没有人会这样做,如果他们这样做,那将是足够的理由永远不会使用他们写的任何代码......对吗?
我发现一例人谁无意中设定的undefined到null,这给出一个理由,以避免假设undefined不会被覆盖.但是,如果他们这样做了,那么这个bug就不会被发现,我也看不出它有多好.
在C++中,每个人都清楚地知道这是合法的#define true false,但没有人建议你避免true使用它0 == 0.你只是假设没有人会成为一个足够强大的混蛋,如果他们这样做,再也不会相信他们的代码了.
这有没有真正咬过别人分配给undefined(有意)的人而且它破坏了你的代码,或者这更像是一个假想的威胁?我愿意冒昧地让我的代码更具可读性.这是一个非常糟糕的主意吗?
重申一下,我并不是要求如何防止重新分配未定义.我已经看过那些已经写过100次的技巧了.我问不使用这些技巧是多么危险.