Javascript 有效对象构造函数

Javascript 有效对象构造函数,javascript,Javascript,以下哪项是有效的对象构造函数 1) var m = function(){} 2) m = function(){} 3) m.prototype.constructor = function(){} 您忘记了var m={} 这称为对象文字。1)var m=function(){} 2) m=function(){} 除了第一个函数创建一个局部作用域函数,第二个函数创建一个全局函数外,其他函数几乎相同。为了创建一个对象,你可以 var obj = new m(); 它们似乎都是声明空函数并

以下哪项是有效的对象构造函数

1) var m = function(){}
2) m = function(){}
3) m.prototype.constructor = function(){}

您忘记了
var m={}

这称为对象文字。

1)
var m=function(){}

2)
m=function(){}

除了第一个函数创建一个局部作用域函数,第二个函数创建一个全局函数外,其他函数几乎相同。为了创建一个对象,你可以

var obj = new m();

它们似乎都是声明空函数并将其分配给不同变量的有效语句

Javascript中的每个函数既是一个对象本身(或者f.prototype不起作用),也是一个潜在的对象构造函数。任何函数都可以用
newthingy
语法调用(或者在您的示例中可能是
newm
)。或者它可以正常调用-唯一特殊的事情
new
就是将
this
设置为从f.prototype派生的对象

新创建的函数有一个
原型
属性,该属性包含一个新创建的对象(
{}
),该对象除了指向函数的隐藏的
构造函数
属性外,没有其他属性(实际上,它是一个循环引用)

诚然:

var m = function(){};
m.prototype.constructor == m;

您想实现什么?如果
firebug
或任何
web控制台
没有显示任何错误,则所有这些都是有效的。。你试过了吗?