function fuck (inObj, path, parms) { ???// 一个长得像对象的字符串 ???var Things = path.split("."); ???// 即将返回的对象 ???var obj = inObj; ???// 不断迭代的key值 ???var key = ""; ???// 赋值 ???var strparms = JSON.stringify(parms); ???for (var i = 0; i < Things.length; i++) { ???????// 累加key ???????key += Things[i] ???????// 如果对象不存在 ???????if (!eval("obj." + key)) { ???????????// 则创建它 ???????????eval("obj." + key + " = {}") ???????} ???????// 如果是最后一个的话 ???????if (i === Things.length - 1) { ???????????eval("obj." + key + " = " + strparms) ???????} ???????// 再叠加一次. ???????key += "."; ???} ???// 循环结束,返回对象 ???return obj}var path = "D01.D0104.D010442.D01044207.D0104420707.D010442070701"fuck({a: 123}, path, {id: 123, label: 321})
JS 对象的属性如果没有就初始化
原文地址:https://www.cnblogs.com/CyLee/p/9153782.html