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

1. 前言

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

2. 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
3. Function原型对象的方法
Function原型对象的方法 说明 示例
Function.prototype.apply(thisArg, argsArray)

功能:以给定this值和数组(或类数组)作为参数

输入:thisObject, Array

输出: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]()

<略>

<略>

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

你可能感兴趣的:(ecmascript,前端,开发语言)