jquery 无法覆盖函数

xqkwcwgp  于 2023-03-17  发布在  jQuery
关注(0)|答案(2)|浏览(113)

我如何重写js的其他文件中的函数长度?

jQuery(function ($) {    

    $.fn.normal_text = function (text) {
        
           $.fn.normal_text.length = function(){
              ...
           }
        
        }

}

我试过这个:

$(document).ready(function(){
    $.fn.normal_text.length = function(){ alert('123'); }
});

但它不起作用。我似乎疯了。

kh212irz

kh212irz1#

不能覆盖函数的length属性,因为它是只读的内置函数。
在语言规范中的“函数示例的属性”下:

15.3.5.1长度

length属性的值是一个整数,它指示函数所期望的参数的“典型”数目。但是,该语言允许使用其他数量的参数调用函数。当使用其length属性指定数量以外的其他数量的参数调用函数时,函数的行为取决于函数。此属性的特性为{x一米二氮一x一米三氮一xx一米四氮一x一米五氮一x一米六氮一x一米七氮一x一米八氮一x一米九氮一x。
粗体部分解释了函数示例上的length属性是不可写的。

eh57zj3b

eh57zj3b2#

normal_text是一个函数,而不是一个对象,因此不能覆盖它的属性。

相关问题