【ECMAScript】Function对象的属性和方法梳理和总结(第九篇)

发布时间:2023年12月21日
1. 前言

? ? ? ? 本篇梳理Function静态属性和Function的原型对象方法。

2. Function原型对象的属性
Function原型对象的属性说明示例
Function.prototype.lengthFunction原型对象的length属性,表示函数期望的参数数量Function.prototype.length
Function.prototype.nameFunction原型对象的name属性,表示函数在创建时指定的名称,匿名函数可以是anonymous或空字符串Function.prototype.name
Function.prototype.constructorFunction原型对象的constrcutor属性Function.prototype.constructor
3.?Function原型对象的方法
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]()

<略>

<略>

注:以上,如有不合理之处,还请帮忙指出,大家一起交流学习~

文章来源:https://blog.csdn.net/weixin_45620943/article/details/135116845
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。