javascript中的编码风格
我对您关于以下代码的意见感兴趣:javascript中的编码风格,javascript,coding-style,Javascript,Coding Style,我对您关于以下代码的意见感兴趣: this.skipAdmCharge = function (tot) { if (FR.rynTag.hasOwnProperty('prodfix')) { var prodfix = FR.rynTag.prodfix; for (var prop in prodfix) {
this.skipAdmCharge = function (tot) {
if (FR.rynTag.hasOwnProperty('prodfix')) {
var prodfix = FR.rynTag.prodfix;
for (var prop in prodfix) {
if (prodfix.hasOwnProperty(prop)) {
if (prodfix[prop].key === 'ADM') {
tot.amt -= prodfix[prop].price * prodfix[prop].quantity
}
}
}
}
}
下面这个:
this.skipAdmCharge = function (tot) {
var prodfix = FR.rynTag.prodfix;
if (prodfix) {
for (var prop in prodfix)
if (prop && (prop.key === 'ADM'))
tot.amt -= prop.price * prop.quantity
}
}
你认为哪个更好?如果是,为什么
谢谢大家! 两者都没有多余的支票 如果(prodfix.hasOwnProperty(prop))不是必需的,则第一个
的示例
在第二种情况下,if(prop&
不需要
this.skipAdmCharge = function (tot) {
try {
var prodfix = FR.rynTag.prodfix;
if (prodfix) {
for (var prop in prodfix)
if (prop.key === 'ADM'))
tot.amt -= prop.price * prop.quantity
}
} catch (e) {
console.log("failed to calculate total amount in skipAdmCharge" + e.message);
}
}
注:我对JavaScript也是新手!两者都很少有不需要的检查
如果(prodfix.hasOwnProperty(prop))
不是必需的,则第一个的示例
在第二种情况下,if(prop&
不需要
this.skipAdmCharge = function (tot) {
try {
var prodfix = FR.rynTag.prodfix;
if (prodfix) {
for (var prop in prodfix)
if (prop.key === 'ADM'))
tot.amt -= prop.price * prop.quantity
}
} catch (e) {
console.log("failed to calculate total amount in skipAdmCharge" + e.message);
}
}
PS:我也是JavaScript新手!这不是“风格”的问题;这是一个给定问题在给定上下文中的正确性问题。不知道上下文就不可能给出答案。因为他们不这么做,所以这个例子有点误导。我投票将这个问题作为离题题来结束,因为关于工作程序的评论适合codereview.stackexchange.com。@Pointy我认为OP指的是缺少大括号(不确定)@dystroy可能,但(对我来说)最显著的区别是第二个代码示例中缺少.hasOwnProperty()
测试。这不是“风格”的问题;这是一个给定问题在给定上下文中的正确性问题。不知道上下文就不可能给出答案。因为他们不这么做,所以这个例子有点误导。我投票将这个问题作为离题题来结束,因为关于工作程序的评论适合codereview.stackexchange.com。@Pointy我认为OP指的是缺少大括号(不确定)@dystroy,但最显著的区别(对我来说)是缺少第二个代码示例中的.hasOwnProperty()
测试。