“函数”的整理与总结


创建函数

let  func=new Function(...arg,"code......"):通过构造函数创建函数,(function(){}).constructor === Function // true;

      arguments.callee是指向参数arguments对象的函数,也就是自身函数;caller是函数对象的一个属性,该属性保存着调用当前函数的函数;

       function.displayName 属性获取函数的显示名称(也就是函数的别名);function.name 属性返回函数实例的名称。

修改函数的this指向

func.apply(thisArg, [argsArray]):调用一个具有给定this值的函数,以及以一个数组(或类数组对象)的形式提供的参数;

function.call(thisArg, arg1, arg2, ...):使用一个指定的this值和单独给出的一个或多个参数来调用一个函数;

function.bind(thisArg[, arg1[, arg2[, ...]]]):创建一个新的函数(永久绑定this和参数的函数),在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。

function.toString():返回一个表示当前函数源代码的字符串;

function.toSource():相当于function.toString(),但是不是标准规范,不建议使用;