如何"properly"格式化js核心元素?
How to "properly" format js core elements?
我已经阅读了很多关于 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
};
是否有任何普遍接受的或通用的 "proper" 方法来格式化您的 JavaScript 代码?
这主要取决于偏好,但在整个代码库中保持一致的风格很重要,特别是如果您在团队中工作以提高代码的可读性。
您可以定义自己的风格或采用现有的风格,例如 Google 风格指南 (https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml), or 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";
我已经阅读了很多关于 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
};
是否有任何普遍接受的或通用的 "proper" 方法来格式化您的 JavaScript 代码?
这主要取决于偏好,但在整个代码库中保持一致的风格很重要,特别是如果您在团队中工作以提高代码的可读性。
您可以定义自己的风格或采用现有的风格,例如 Google 风格指南 (https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml), or 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";