javascript - 格式化javascript函数的正确方法

标签 javascript function coding-style

只是一个快速...

格式化 JavaScript 函数的正确方法是什么?

我是这样看的:

function doThis(){
}

像这样:

doThis = function(){
}

也许这没什么区别。请让我知道什么是最好的,或者它们是否有不同的理由或目的。

干杯

C

最佳答案

它们是两个不同的东西,尽管它们都创建一个函数(并将其分配给一个变量)。

function name () {
}

是一个函数语句(或“函数声明”)。只有作为顶级脚本元素或直接作为函数元素出现才合法:也就是说,函数语句出现不合法ifwhile 等中。所有函数语句都“提升”到函数(或脚本)的顶部,因此以下是有效的:

a()
function a () { alert("a") }

形式:

variable = function name () {} // or variable = function () {}

函数关键字在函数表达式上下文中:它创建一个新的函数对象,并将生成的函数对象(只是一个“正常值”)分配给variable。以下内容无效,因为函数表达式被提升。

var b
b() // oops, does not evaluate to a function-object yet!
b = function b () { alert("b") }

综上所述,“正确的方法”是使用函数语句(“函数声明”)形式,除非有理由不这样做。

快乐编码。


另见:

关于javascript - 格式化javascript函数的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7782674/

相关文章:

javascript - 以数组为参数并生成随机数的函数

javascript - 异步函数可以返回 undefined 而不是 Promise

Javascript随机数组检查器错误

来自串联的 R 项目文件路径

c - 签名错误的函数定义中的函数声明?

java - 异常处理问题

java - 在函数中使用字符串参数什么时候好、什么时候不好?

javascript - AngularJS - XX 不是一个函数

c# - 将参数传递给 AsyncCallback 函数?

c++ - 使用或不使用 C++0x 特性