我现在调试其他代码,当他在这两种模式中定义构造函数时我感到很困惑.两者之间有什么特别之处吗?
//constructor 1
var MyObject = function(){
};
//constructor 2
var MyObject = function MyObject(){
};
Run Code Online (Sandbox Code Playgroud)
还有,只是像这样创建一个函数的效果.
function MyObject(){};
Run Code Online (Sandbox Code Playgroud)
我只是看每个用例.
两者之间的唯一区别是后者您可以通过函数名称在内部引用该函数(尽管在您的情况下,它们具有相同的名称)。在一些较旧的 IE 中,他们将此名称泄露给周围的范围。
为诸如检查调用堆栈之类的事情命名它也很有用 - 命名的函数是将要使用的名称(至少在 Chrome 的检查器中)。
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |