? ? ? ? 本篇梳理Function静态属性和Function的原型对象方法。
Function原型对象的属性 | 说明 | 示例 |
Function.prototype.length | Function原型对象的length属性,表示函数期望的参数数量 | Function.prototype.length |
Function.prototype.name | Function原型对象的name属性,表示函数在创建时指定的名称,匿名函数可以是anonymous或空字符串 | Function.prototype.name |
Function.prototype.constructor | Function原型对象的constrcutor属性 | Function.prototype.constructor |
Function原型对象的方法 | 说明 | 示例 |
Function.prototype.apply(thisArg, argsArray) | 功能:以给定this值和数组(或类数组)作为参数 输入:thisObject, Array<any> 输出:any | Math.max.apply(null, [1,2,3,4,5]); 得到5 |
Function.prototype.call(thisArg, arg1, arg2, ...) | 功能:以给定this值和逐个提供的参数调用该函数 输入:thisObject, any, any, ... 输出:any | function add(a,b) { ? return a+b + this.c; } const obj = { ?c: 3, } add.call(obj, 1, 3); 得到7 |
Function.prototype.bind(thisArg, arg1, arg2, ...) | 功能:以给定this值和逐个提供的参数调用该函数 输入:thisObject, any, any, ... 输出:Function | function add(a,b) { ? return a+b + this.c; } const obj = { ?c: 3, } add.bind(obj, 1, 3)(); 得到7 |
Function.prototype.toString() | 功能:返回一个表示该函数源码的字符串 输入:无 输出:string | function add(a,b) { ? return a+b + this.c; } add.toString() 得到函数源码的字符串 'function add(a,b) {\n\n ?return a+b + this.c;\n\n}' |
Function.prototype[Symbol.hasInstance]() | <略> | <略> |
注:以上,如有不合理之处,还请帮忙指出,大家一起交流学习~