其实上面的代码也就等价于下面的写法: 复制代码 代码如下: function anonymousClass() { } //匿名类 var instance = new anonymousClass(); alert(typeof (instance));//object alert(instance); //[object Object]
[code]
(2)、函数带个返回值的,也不是很难理解 [code] var func = new function() { return "jeff wong" }; alert(typeof (func)); alert(func); //alert(func()); //脚本错误 缺少函数
其实上面的代码也就等价于下面的写法: 复制代码 代码如下: function anonymousClass() { return "jeff wong"; } //匿名类 var instance = new anonymousClass(); alert(typeof (instance));//object alert(instance); //[object Object]
(3)、还是函数带个返回值的,写法稍微有点不同
下面的代码请注意和(2)中的区分一下,因为接下来要重点讨论的就是那一点点的不同书写形式: 复制代码 代码如下: var func = new function() { return new String("jeff wong"); }; alert(typeof (func)); //object 意料之中 alert(func); //这里?! //alert(func()); //脚本错误 缺少函数
上面代码的等价形式依然简单: 复制代码 代码如下: function anonymousClass() { return new String("jeff wong"); } var instance = new anonymousClass(); alert(typeof (instance)); alert(instance);