【发布时间】:2017-04-30 17:02:33
【问题描述】:
定义全局函数时,应该使用var、let还是const?
var fn = function () {};
let fn = function () {};
const fn = function () {};
我在这里主要考虑 C/Pascal 意义上的全局函数,即在当前文件的其余部分中按名称可用/可见的函数。
当我学习 JavaScript 时,我们使用了 var fn=.. 或 functino fn ()..,我正在尝试更新我的知识,因为浏览器现在原生支持 ECMAScript 6。
【问题讨论】:
-
你想达到什么目的?
-
@guest271314 我只是想学习正确/惯用地使用 es6。 (1 票赞成不清楚,3 票赞成)。请把我的不清晰理解为缺乏理解,确实如此,而不是我试图变得迟钝..
-
'C/Pascal 意义上的全局函数' - 它在 JS 中不称为全局,它是模块范围,它与函数范围或 JS 中的其他局部范围并没有真正的区别。它只是
function或const如果它需要被声明一次(const提供了防止意外重新分配的保障)或let如果它应该被有条件地分配。请注意,function声明已提升,因此可以将其移至底部以提高可读性,而const和let则不能。 -
@estus 谢谢,这解决了一大堆问题:-)
-
对问题的最后一次编辑,从这里的角度来看,提供了查询的上下文。