我正在学习JS,并且遇到了Javascript的概念。我还学习了两种不同的创建函数的方法
//anonymous
var fun1=function()
{
}
//named
function fun2()
{
}
我搜索了网络,发现了一些重要的差异,如:
1.我们可以在声明之前调用命名函数,而在匿名情况下则不可能。
2. fun1()在运行时定义,而另一个的分配将在分析时定义
现在我的问题是为什么fun1()的原型指向Object而fun2的原型指向自身?我试了很多东西来理解这一点,但没有正确理解。
我们应该在什么情况下使用什么类型的功能?
答案 0 :(得分:3)
现在我的问题是为什么fun1()的原型指向Object
不是。它指向一个对象。展开它,你会发现它是一个普通的原型对象,而不是Object
构造函数。
fun2的原型指向自己?
不是。它也指向一个普通的原型对象。唯一的区别是fun2
是一个命名函数,因此您的控制台将显示.constructor == fun2
为" 一个fun2
对象&#的所有内容34。