Javascript常用的干式编程习惯用法
我想通过更改最后两行代码来减少上述代码的冗长;我怎样才能做到这一点呢?使用引用怎么样Javascript常用的干式编程习惯用法,javascript,Javascript,我想通过更改最后两行代码来减少上述代码的冗长;我怎样才能做到这一点呢?使用引用怎么样 var veryLongObjectName = {}; // ... if (!veryLongObjectName["verylongpropertyName"]) veryLongObjectName["verylongpropertyName"] = 0; if (veryLongObjectName["verylongpropertyName"]++) console
var veryLongObjectName = {};
// ...
if (!veryLongObjectName["verylongpropertyName"])
veryLongObjectName["verylongpropertyName"] = 0;
if (veryLongObjectName["verylongpropertyName"]++)
console.log("I've seen it already");
如果你的物品和道具让你烦恼,你为什么不做个短柄呢
var veryLongObjectName = {};
var prop = veryLongObjectName["verylongpropertyName"];
if (!prop)
prop = 0;
if (prop++)
console.log("I've seen it already");
或者创建一个函数来处理您想要执行的操作:
var veryLongObjectName = {};
var obj = veryLongObjectName;
var prop = "verylongpropertyName";
if (!obj[prop]) obj[prop] = 0;
if (obj[prop]++) console.log("I've seen it already");
通过缩短对象和属性名称。DRY不是使用变量,即使它们有很长的名称。DRY是不重复我自己;我用了很长的名字只是为了指出有人不喜欢这个问题,但在其他语言中这不会是一个问题,在其他语言中?你不是那个写这些长名字的人吗?你可能不应该为此使用点符号-他使用括号符号是正确的,仅供参考:)如果属性不是对象,你将不会得到引用,但你会得到一个副本。道具上的任何后期操作都不会对原始属性产生任何影响。我错过什么了吗?正如我所看到的,这里的道具是一个数字。属性是数字,
++
确认that@mpapec是的,好的,那么你需要把计算出的值拉回来。
var veryLongObjectName = {};
var obj = veryLongObjectName;
var prop = "verylongpropertyName";
if (!obj[prop]) obj[prop] = 0;
if (obj[prop]++) console.log("I've seen it already");
function checkProp(obj, prop) {
obj[prop] = obj[prop] || 0;
if (obj[prop]++) console.log("I've seen it already");
}