函数原型

一、函数声明的实质

我们平时大量使用Function,但是真的懂Function吗?

声明一个函数的时所使用的代码

1
2
3
function fn(num1,num2){
return num1+num2;
}

其实它的实质是使用了Function的构造函数

1
2
//Function(参数1,参数2,...,函数体);
var fn = new Function('num1','num2','return num1+num2');

这两种声明方式是等同的,但从第二种写法上,我们可以很清晰的看出fn函数是由Function构造出来的。

二、JavaScript对象

我们先来看一个例子

1
2
console.log(typeof Object);
console.log(typeof Function);

打印结果都是Function,这是为什么了,为什么Object也是Function?

那是因为JS中所有的函数都是Function的实例,Object也是由构造函数构建的,那么Object的类型也是Function。

值得注意的是:Function自身能够生成自身,即Function的原型就是Function。

我们用一张图来解释这其中的关系

函数原型

结合上一章所介绍的原型链,综合给出一张关系图

原型链加函数原型

[声明]:本篇文章中部分引用 从Function说原型 的文章。

最后更新: 2019年09月27日 10:24

原始链接: https://HowlCN1997.github.io/2020/01/17/函数原型/

× 请我吃糖~
打赏二维码