调用object'的函数而不声明'
Call object's function without declaring "new"?
下面的代码被打破了,它需要工作的是var thing = new thing();
,我理解这一点。我的问题是,有没有一种方法可以让下面的代码工作而不声明新的?在thing
或something
物体中?
var thing = function(){
var something = {};
something.num = function(){
return 5;
};
return something;
};
console.log(thing.num());
我相信你在找这个:
var thing = (function(){
var something = {};
something.num = function(){
return 5;
};
return something;
}());
console.log(thing.num());
这将立即执行该函数,并将返回值(something
)赋给thing
。您的原始代码将函数本身分配给thing
。如果您想保持原来的功能,可以使用console.log(thing().num())
。
相关文章:
- Eval未声明函数
- JavaScript + mocha:可能是在 for 循环中声明函数的闭包问题
- 使用 .on 函数运行 jQuery 声明函数
- 返回并重新声明函数中的变量
- SyntaxError:严格模式不允许在词法嵌套语句中声明函数
- JavaScript函数的类型是在声明函数之前定义的
- 在 initComponent Ext JS4 中声明函数
- 在对象中声明函数名称,为什么
- 在变量中声明函数的不同方法
- 声明函数是否会创建具有函数名称和分配给它的函数对象的变量
- 在 angularjs 控制器范围内声明函数和属性,但不附加到$scope
- 在声明函数中使用“this”时严格违规,函数表达式不违规
- 只有从html set onclick事件调用代码声明函数时,该函数才不存在
- 在jQuery中动态声明函数
- 声明函数并在jquery事件绑定上调用它
- 在Javascript中声明函数的最有效方法是什么
- javascript声明函数超时
- Javascript:动态声明函数的正确方法
- 为闭包声明函数两次
- 习语Javascript编码风格-何时在原型上声明函数,何时在函数构造函数内声明函数