我确实有jQuery但不介意使用它,但这里是我要清理的代码:
if (parent.uglyChild.uglyChild.uglyChild.uglyChild.data == null) {
parent.uglyChild.uglyChild.uglyChild.uglyChild.data = new app.newData();
}
我知道如何清理它的唯一方法是:
var data = parent.uglyChild.uglyChild.uglyChild.uglyChild.data;
if (data == null) { data = new app.newData()}
我一直想知道是否有办法做某事:
parent.uglyChild.data = parent.uglyChild.data.isNull ? return : new app.newData();
我迫不及待地想看到你们知道的速记技巧! :)
答案 0 :(得分:1)
您可以执行类似
的操作var ugly = parent.uglyChild.uglyChild.uglyChild.uglyChild;
ugly.data == null && (ugly.data = value)
答案 1 :(得分:1)
你可以缓存最近的对象以避免重复,这要归功于JS的漏洞分配:
if ( (x=parent.uglyChild.uglyChild.uglyChild.uglyChild).data == null) {
x.data = value;
}
答案 2 :(得分:0)
如果您想使用三元运算符,您可以随时重新分配值。
parent.uglyChild.data = (parent.uglyChild.data == null) ? null : value;