1

如何覆盖其他文件 js 中的函数长度?

  jQuery(function ($) {    

    $.fn.normal_text = function (text) {

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

        }

}

我试试这个:

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

但它不起作用。我似乎对它很疯狂

4

2 回答 2

3

您不能覆盖length函数上的属性,因为它是只读的内置函数。

在语言规范中的“函数实例的属性”下:

15.3.5.1 长度

length 属性的值是一个整数,表示函数期望的“典型”参数数量。但是,该语言允许使用其他数量的参数调用该函数。当函数的参数数量不是由其长度属性指定的数量时,该函数的行为取决于该函数。此属性具有属性。{ [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }

粗体部分说明length函数实例上的属性是不可写的。

于 2013-01-25T17:21:03.700 回答
1

normal_text is a function, not an object so you can't override it's properties.

于 2013-01-25T17:16:43.417 回答