为什么在修改String.prototype后创建jQuery插件时出现TypeError

Why I get TypeError creating jQuery plugin after modifying String.prototype

本文关键字:插件 TypeError jQuery 创建 修改 String prototype 为什么      更新时间:2023-09-26

在修改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上的这个。