我已经阅读了很多关于JavaScript格式和规则等的文章。但我的问题是如何格式化核心JavaScript元素(即函数,数组和对象)
通常对于函数我使用以下内容:
function myFunction(argument1 , argument2 , optionalargument3) {
optionalargument3 === undefined ? optionalargument3 : "default value";
return optionalargument1;
}
或:
var myFunction = function(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]);
}
人们似乎也已经放弃了在对象或函数之前在列表中写出全局的想法。
例如:
var winMessage = "You Win!";
var loseMessage = "Loser!";
var cash = 0;
var intrest = null;
function randomInteger(low , high) {
return Math.floor((Math.random())*(high-low))+low
}
var Car = {
model : undefined
make : "Sudan"
MPG : 7.5
highway-mpg : 11.5
};
是否有任何通用接受或一般“正确”方式来格式化您的JavaScript代码?
答案 0 :(得分:0)
这主要取决于偏好,但在整个代码库中保持一致的风格非常重要,特别是如果您在团队中工作以提高代码的可读性。
您可以定义自己的风格,也可以采用现有风格,例如Google风格指南(https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml)或Crockfords(http://javascript.crockford.com/code.html)。
JavaScript具有自动分号插入功能,这意味着某些类型的格式化可能导致代码无法按预期工作,例如以下解释器将忽略对象字面值,因为它将插入分号直接在return
关键字之后:
return
{
name: "Foo"
};
在你的例子中
optionalargument3 === undefined ? optionalargument3 : "default value";
实际上并没有做任何事情,因为没有任何分配,但处理默认参数的一种很好的干净方法是使用
arg = arg === undefined ? "default value" : arg;
您可以使用语义相同且更清晰的版本:
arg = arg || "default value";