最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Shorthand to declaring empty object properties in Javascript, is there any? - Stack Overflow

programmeradmin4浏览0评论

I need to declare a lot of object properties in my script and I wonder if the're any way to shorten this:

Core.registry.taskItemSelected;
Core.registry.taskItemSelected.id;
Core.registry.taskItemSelected.name;
Core.registry.taskItemSelected.parent;
Core.registry.taskItemSelected.summary;
Core.registry.taskItemSelected.description;

I need to declare a lot of object properties in my script and I wonder if the're any way to shorten this:

Core.registry.taskItemSelected;
Core.registry.taskItemSelected.id;
Core.registry.taskItemSelected.name;
Core.registry.taskItemSelected.parent;
Core.registry.taskItemSelected.summary;
Core.registry.taskItemSelected.description;
Share Improve this question edited Aug 5, 2017 at 20:19 João Pimentel Ferreira 16.3k12 gold badges94 silver badges129 bronze badges asked May 19, 2011 at 10:28 EdwardEdward 7662 gold badges8 silver badges19 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 14

Wouldn't that work?

Core.registry.taskItemSelected = {
  id: null,
  name: null,
  parent: null,
  ...
};

Something like this should work:

var props = ["id", "name", "parent", ...];
Core.registry.taskItemSelected = {};
for (var i = 0; i < props.length; i++)
   Core.registry.taskItemSelected[props[i]] = "";

Edit: following the OP comments, here is better version with same final result:

Object.prototype.declare = function (varArray) {
    for (var i = 0; i < varArray.length; i++) {
        this[varArray[i]] = {};
    }
};

//usage:
var props = ["id", "name", "parent"];
Core = {};
Core.declare(props);

And live test case as well: http://jsfiddle.net/5fRDc/

发布评论

评论列表(0)

  1. 暂无评论