1.What
JS对象字面量在平时工作中用的不多,但至少接触过,膜拜大神的JS代码,用对象字面量的居多,惭愧,今天才知道这种写法的名称。
对象字面量就是创建对象的一种简单容易阅读的方法。如下创建了一个对象。
var obj = { ???a:‘aaa‘,//a是属性,‘aaa‘是属性值 ???b:‘bbb‘, ???c:‘ccc‘}obj.a//"aaa"obj[‘a‘]//"aaa"
2.Why
所谓存在即合理。为何有这种写法的存在呢,百度了一圈,对这种写法褒贬不一。
大致的优点为以下几点:
- 初始化对象速度快
- 属性共享(不明觉厉)
3.How
对象字面值是封闭在花括号对({})中的一个对象的零个或多个"属性名-值"对的(元素)列表。你不能在一条语句的开头就使用对象字面值,这将导致错误或产生超出预料的行为, 因为此时左花括号({)会被认为是一个语句块的起始符号。
function RelatedSelect(config) { ???this.defaultText = null; ???this.defaultTextList = []; ???this.firstParentCode = ‘‘; ???this.url = null; ???this.resultProperty = null; ???this.data = null; ???this.isPreAppend = false; ???this.renderId = null; ???this.nameList = []; ???this.preLabel = []; ???this.sufLabel = []; ???this.listeners = { ???????onRender : null, ???????onChange : null, ???}}
rsPopulation = new RelatedSelect( ???{ ???????????????????????????????????????????????????????????????????defaultText : defaultText, ???????????????????????????????????????????????????????????????????firstParentCode : ‘‘, ???????????????????????????????????????????????????????????data : result.list, ???????????????????????????????????????????????????????listeners : { ???????????onRender : function(select) { ???????????????var selectSize = select.idList.length; ???????????????for(var i=0; i<selectSize; i++){ ???????????????????var curSelect = $(‘#‘ ???????????????????????+ (select.idList)[i] ???????????????????????+ ‘ option[value!=""]‘); ???????????????????if(curSelect!=null && curSelect.length == 1){ ???????????????????????$(‘#‘ ???????????????????????????+ (select.idList)[i] ???????????????????????????+ ‘ option[value!=""]‘)[0].selected = true; ???????????????????????????select.onChange(select.getByIndex(i),i); ???????????????????} ???????????} ???????} ???}});
JS对象字面量
原文地址:https://www.cnblogs.com/zyxiaohuihui/p/8387401.html