“函数”的整理与总结
创建函数
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(),但是不是标准规范,不建议使用;