为什么函数具有length属性?

用户名

我一直在这里摆弄一些代码由于某种原因,一个函数被检测为抽象数组,因为它具有length属性。不是主要问题,bc为0,但我发现这个怪异的现象。

var test_set = [null,
                undefined,
                NaN,
                true,
                false,
                1,
                'a',
                {test:'test'},
                [0], 
                function(){}, 
                /test/
               ];

var index, 
    key,
    test;

function isArrayAbstract (obj) {
    return (obj != null) && (obj.length === +obj.length);
};

for(index = 0; index < test_set.length; index++){
    test = isArrayAbstract(test_set[index]);
    console.log('Mark | ' + test_set[index]);
    console.log(test);
}
NINCOMPOOP

函数长度

length是函数对象的属性,它指示函数期望多少个参数,即形式参数的数量。相比之下,arguments.length对于函数而言是本地的,并提供了实际传递给该函数的参数数量。

参见示例:

console.log( (function () {}).length );  /* 0 */
console.log( (function (a) {}).length ); /* 1 */
console.log( (function (a, b) {}).length ); /* 2 etc. */
console.log( (function (...args) {}).length ); /* 0, rest parameter is not counted */

也请参考ECMAScript语言规范

此子句中描述的每个内置Function对象(无论是构造函数,普通函数还是两者)都具有length属性,其值是整数。除非另有说明,否则该值等于函数说明的子标题中显示的最大命名参数数量,包括可选参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript中的函数是否具有先前的属性?为什么?

来自分类Dev

为什么String具有prototype.length属性,并在String实例上生成直接的length属性

来自分类Dev

为什么Java的String具有方法length()而非属性长度(如数组?)

来自分类Dev

为什么Java的String具有方法length()而不是属性长度(如数组?)

来自分类Dev

为什么函数没有[[Value]]属性?

来自分类Dev

为什么Enumerable在Ruby中没有length属性?

来自分类Dev

为什么HttpClientHandler同时具有Proxy和UseProxy属性?

来自分类Dev

为什么IDisposable具有[ComVisible(true)]属性?

来自分类Dev

为什么Python对象具有以整数表示的属性?

来自分类Dev

为什么类具有其元类的属性?

来自分类Dev

为什么ClipBoard类具有名称属性

来自分类Dev

为什么IDisposable具有[ComVisible(true)]属性?

来自分类Dev

为什么这些`element`对象具有`search`属性?

来自分类Dev

为什么属性具有“字符”(@)语法?

来自分类Dev

为什么类具有其元类的属性?

来自分类Dev

为什么MDLMesh具有未命名的默认属性?

来自分类Dev

为什么 SiteNavigationElement 具有“材料”的架构属性?

来自分类Dev

函数对象在什么时候具有属性?

来自分类Dev

Android:为什么Color类具有公共构造函数?

来自分类Dev

为什么C ++内联函数具有调用指令?

来自分类Dev

为什么Angular具有isDefined和isUndefined函数?

来自分类Dev

为什么Angular具有isDefined和isUndefined函数?

来自分类Dev

具有Eager fetch Type属性的对象对该属性的延迟加载属性执行查询。为什么?

来自分类Dev

终端为什么可以具有合成属性,而没有继承属性?

来自分类Dev

具有属性的绑定函数

来自分类Dev

为什么具有虚函数的类与没有虚函数的类对齐方式不同?

来自分类Dev

如果我在属性中具有验证属性,为什么Validator.TryValidateObject不验证类?

来自分类Dev

为什么“值”属性为空而“值”属性具有正确的值?

来自分类Dev

为什么不能将具有返回值的函数分配给具有 void 的指针函数?

Related 相关文章

  1. 1

    JavaScript中的函数是否具有先前的属性?为什么?

  2. 2

    为什么String具有prototype.length属性,并在String实例上生成直接的length属性

  3. 3

    为什么Java的String具有方法length()而非属性长度(如数组?)

  4. 4

    为什么Java的String具有方法length()而不是属性长度(如数组?)

  5. 5

    为什么函数没有[[Value]]属性?

  6. 6

    为什么Enumerable在Ruby中没有length属性?

  7. 7

    为什么HttpClientHandler同时具有Proxy和UseProxy属性?

  8. 8

    为什么IDisposable具有[ComVisible(true)]属性?

  9. 9

    为什么Python对象具有以整数表示的属性?

  10. 10

    为什么类具有其元类的属性?

  11. 11

    为什么ClipBoard类具有名称属性

  12. 12

    为什么IDisposable具有[ComVisible(true)]属性?

  13. 13

    为什么这些`element`对象具有`search`属性?

  14. 14

    为什么属性具有“字符”(@)语法?

  15. 15

    为什么类具有其元类的属性?

  16. 16

    为什么MDLMesh具有未命名的默认属性?

  17. 17

    为什么 SiteNavigationElement 具有“材料”的架构属性?

  18. 18

    函数对象在什么时候具有属性?

  19. 19

    Android:为什么Color类具有公共构造函数?

  20. 20

    为什么C ++内联函数具有调用指令?

  21. 21

    为什么Angular具有isDefined和isUndefined函数?

  22. 22

    为什么Angular具有isDefined和isUndefined函数?

  23. 23

    具有Eager fetch Type属性的对象对该属性的延迟加载属性执行查询。为什么?

  24. 24

    终端为什么可以具有合成属性,而没有继承属性?

  25. 25

    具有属性的绑定函数

  26. 26

    为什么具有虚函数的类与没有虚函数的类对齐方式不同?

  27. 27

    如果我在属性中具有验证属性,为什么Validator.TryValidateObject不验证类?

  28. 28

    为什么“值”属性为空而“值”属性具有正确的值?

  29. 29

    为什么不能将具有返回值的函数分配给具有 void 的指针函数?

热门标签

归档