这是定义函数更好的方法
which is the better way of defining a function?
两者有什么区别吗?我一直在使用这两种方式,但不知道哪一个做什么,哪一个更好?
function abc(){
// Code comes here.
}
abc = function (){
// Code comes here.
}
定义这些函数有什么区别吗?比如i++和++i ?
function abc(){
// Code comes here.
}
将被吊装。
abc = function (){
// Code comes here.
}
不能吊装。
例如:
abc();
function abc() { }
当abc
被提升到封闭作用域的顶部时,代码将运行。
如果你这样做了:
abc();
var abc = function() { }
abc
已声明,但没有值,因此不能使用。
关于哪个更好更多的是关于编程风格的争论。
http://www.sitepoint.com/back-to-basics-javascript-hoisting/简短回答:none
将函数放在全局命名空间中。任何人都可以访问它,任何人都可以覆盖它。
标准的更安全的方法是将所有内容包装在一个自调用函数中:
(function(){
// put some variables, flags, constants, whatever here.
var myVar = "one";
// make your functions somewhere here
var a = function(){
// Do some stuff here
// You can access your variables here, and they are somehow "private"
myVar = "two";
};
var b = function() {
alert('hi');
};
// You can make b public by doing this
return {
publicB: b
};
})();
相关文章:
- 有没有更好的动手、具体的方法来学习Javascript
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- 在JavaScript中拆分日期字符串的更好方法是什么
- 设置嵌套对象属性的更好方法
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- 将数组从javascript格式化为php的更好方法,反之亦然
- jquery:将动画绑定到滚动条位置的更好方法
- 有更好的方法吗?(递归解析HTML unicode实体)
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 编写if-else语句的更好方法
- 我能从“;输入“;事件是否有更好的方法来跟踪文本更改
- 有没有更好的方法可以测量从Ajax调用返回数据所需的总时间
- 有没有更好的方法将音频与视频同步(只需将其放在视频中即可)
- 调用影子原型方法的更简单/更好的方法
- 有没有更好的方法来编写这个Show/hide JQuery代码
- AngularJS:有没有比指定的方法更好的方法来实现这一点
- 哪种验证方法更好
- 哪一种定义变量的方法更好?为什么?