在修改String.prototype后,尝试创建一个jQuery插件,会得到一个TypeError。为什么?这是jQuery的bug吗?当涉及到功能排序时,它确实困扰着我。现在,在修改原型之前,我必须始终注意创建jQuery插件。看看这些小提琴:
这个fiddle抛出类型错误(因为jQuery插件是在原型修改后创建的)
这个小提琴还可以。
String.prototype.digitGroup = function () {
// Code here
return;
}; // Add a semicolon here to avoid error
(function ($) {
$.fn.showDialog = function (options) {
// Code here
return this;
};
})($);
只需在中的函数表达式后面加一个分号
String.prototype.digitGroup = function () {
// Code here
return;
}; // Here
更新了fiddle
分号在javascript
中是可选的,但有时它很重要,所以你应该始终使用分号,这是一种很好的编程实践,检查这个,也检查so上的这个。