2
A
回答
0
另一种选择:
var foo = function() { this.bar = 10; return this; }();
console.log(foo.bar);
阅读关于自我执行的功能在这里:
What is the purpose of a self executing function in javascript?
1
你的语法是错误的:
function foo() { this.bar = 1; }
var a = new foo();
a.bar; // 1
1
这是一个定义。你需要实例化它。
var foo = function() { this.bar = 1; }
>> new foo().bar
0
这里的问题是,您只定义了foo
而没有实际执行它。因此,行this.bar = 1
甚至还没有运行,并且没有办法定义bar
。
接下来的问题是,当你运行foo
它需要哪些this
将被定义的上下文。例如
var x = {}
foo.apply(x);
x.bar === 1 // true
或者你也可以运行foo
作为结果
bar
var x = new foo();
x.bar === 1 // true
相关问题
- 1. 为什么心不是我的JavaScript对象工作
- 2. 如果...那么JSX为Javascript
- 3. ng-disabled是否在div标签中工作?如果不是,那为什么?
- 4. 那么函数SDL_FreeSurface是做什么的?
- 5. 以对象为参数的Javascript Arrow函数是什么意思?
- 6. 为什么javascript getTime()不是函数?
- 7. 如果它不是bug,那么为什么没有输出
- 8. 为什么RecyclerView不工作setBackground函数?
- 9. 为什么PHP filesize()函数不工作?
- 10. closest()函数不工作,为什么?
- 11. 为什么fetchObject函数不工作?
- 12. 嵌套函数不工作,为什么?
- 13. 为什么'strcat'函数不工作?
- 14. 为什么header()函数不工作?
- 15. 什么是T-SQL语法如果这或那么那还有什么不做?
- 16. 为什么如果条件不工作
- 17. @ModelAttribute,为什么如果不工作?
- 18. 为什么如果不工作?
- 19. 如果函数参数类型是ABC,为什么不能传值工作?
- 20. 为什么我的JavaScript调用对象方法不工作?
- 21. 如果作者是Post的作者,那么做点什么?
- 22. 如果我们从函数构造函数创建一个名为'a'的对象,那么为什么'a'不是函数的实例?
- 23. 为什么JSON对象不是数组?
- 24. C++为什么变量是函数而不是对象?
- 25. JavaScript的.call函数为什么不能用于对象文字?
- 26. 为什么CGWarpMouseCursorPosition会导致延迟?如果不是,那是什么?
- 27. 什么是JavaScript对象
- 28. 什么是javascript`window.Notation`对象?
- 29. JavaScript语法:什么是({})它是一个函数还是对象?
- 30. 为什么我的setInterval函数不能再次工作? (JavaScript)