Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何“正确”格式化js核心元素?_Javascript_Formatting - Fatal编程技术网

Javascript 如何“正确”格式化js核心元素?

Javascript 如何“正确”格式化js核心元素?,javascript,formatting,Javascript,Formatting,我读过很多关于JavaScript格式和规则等的文章,但我这里的问题是如何格式化核心JavaScript元素,即函数、数组和对象 对于函数,我通常使用以下内容: function myFunction(argument1 , argument2 , optionalargument3) { optionalargument3 === undefined ? optionalargument3 : "default value"; return optionalargument1;

我读过很多关于JavaScript格式和规则等的文章,但我这里的问题是如何格式化核心JavaScript元素,即函数、数组和对象

对于函数,我通常使用以下内容:

function myFunction(argument1 , argument2 , optionalargument3) {
    optionalargument3 === undefined ? optionalargument3 : "default value";
    return optionalargument1;
}
或:

但这是有争议的。对于我使用的对象:

var Car = {
    model        : undefined
    make         : "Sudan"
    MPG          : 7.5
    highway-mpg  : 11.5
};
当然,这是非常有争议的,大多数人使用不同的方法。 对于for循环,我使用:

for(var i = 0; i < (array.length + 1); i++) {
    console.log(array[i]);
}

是否有任何通用的或通用的方法来格式化JavaScript代码?

这主要取决于您的偏好,但在整个代码库中保持一致的样式非常重要,尤其是在团队中工作以提高代码可读性的情况下

您可以定义自己的样式,也可以采用现有样式,如Google样式指南或Crockfords

JavaScript具有自动分号插入功能,这意味着某些类型的格式可能导致代码无法按预期工作,例如以下情况,其中解释器将忽略对象文字,因为它将直接在return关键字之后插入分号:

在你的例子中

optionalargument3==未定义?optionalargument3:默认值

实际上没有做任何事情,因为没有赋值,但是一种处理默认参数的干净方法是使用

arg = arg === undefined ? "default value" : arg;
您可以使用语义相同且更清晰的版本:

arg = arg || "default value";

许多好的问题都会根据专家经验产生一定程度的意见,但对这个问题的回答往往几乎完全基于意见,而不是事实、参考资料或特定的专业知识。+@thefourtheye在底部添加了一个额外的部分来尝试和防止这种情况。var myFunction!==函数myFunctionAlso,适用于var i=0的循环性能,max=array.length;ireturn { name: "Foo" };
arg = arg === undefined ? "default value" : arg;
arg = arg || "default value";