2 bogexueqianduan bogexueqianduan 于 2016.02.17 18:47 提问

Function构造函数 vs 函数声明的区别是什么?

首先提供一个让我产生疑惑的链接:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions#Function构造函数_vs_函数声明_vs_函数表达式
图片说明
图片中这句话 让我无比疑惑,因为在我理解里,构造函数应该是:

 var name=new Function("x","y","return x*y");

这样的 ,但是图里却说,我理解中最普通的函数声明是一个构造函数!!
求解,难道是我哪里理解错了吗?

2个回答

caozhy
caozhy   Ds   Rxr 2016.02.17 20:19

function multiply(x, y) { ... }
其实是一种简写,相当于
var multiply = function (x, y) { ... }

js中大量使用一种叫做“prototype”(原型)风格的写法来创建对象,在这种场合,构造和返回对象的函数相当于构造函数的职能。

caozhy
caozhy 回复伯格学前端: 就是函数返回值为一个对象
接近 2 年之前 回复
bogexueqianduan
bogexueqianduan 构造和返回对象这句话 可以解释一下吗?不是很理解
接近 2 年之前 回复
Mr_dsw
Mr_dsw   Ds   Rxr 2016.02.17 19:43

在java中有一个叫匿名内部类,原理应该是类似的吧

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!