javascript技巧 - 如何添加对象,无需编写大量ifs

时间:2016-09-13 04:12:04

标签: javascript

我有一个有3个参数的对象。在某些情况下,其中一个参数可能为空。

有没有快速&如果其中一个参数不存在则执行以下代码的清除编码没有错误。

var str = object.x &&  + object.y + object.z

3 个答案:

答案 0 :(得分:4)

添加它们的一种简洁方法是:

var str = (object.x || '') + (object.y || '') + (object.z || '');

答案 1 :(得分:0)

您可以实现自己的功能,为您做到这一点:



function load_edit_row(input) {
   var ID = $(input).parent().attr('data-id');
   var dataString = []; 
   $("tr[data-id="+ID+"] :input").each(function(e){ 
      dataString.push(this.value);
   });
   $.ajax({
      type: 'POST',
      url: 'update-row.php',
      data: {data:dataString},
      success: function(itemJson) {

      },
      dataType: 'json'
   });
}




请注意,此实现只是一个示例,用于显示总结有效数字的想法 我喜欢这种方法,因为它可以让你轻松地描述自己的规则。您可以轻松地修改它,以便用常量值替换未定义的值;或使其连接字符串;或者在$('#AddNew').click(function(event){ event.preventDefault(); var address = $("#Pharmacy_Address").val(); var Name = $("#Pharmacy_AccountName").val(); var City = $("#Pharmacy_City").val(); var State = $("#Pharmacy_State").val(); var Zip = $("#Pharmacy_ZipCode") $("#City").text($('#Pharmacy_City').val()); $("#State").text($('#Pharmacy_State').val()); $("#Name").text($('#Pharmacy_AccountName').val()); $("#Address").text($('#Pharmacy_Address').val()); $("#Zip").text($('#Pharmacy_ZipCode').val()); if (Zip && State && Name && address && City != "") { $("#dialog-modal").dialog({ height: 300, width: 300, draggable: true, modal: true, dialogClass: 'dialog-modal-style', buttons: { "Add this account": function () { $("#Add").submit();//Call form submit $(this).dialog("close"); }, "Cancel": function () { $(this).dialog("close"); } } }); } }); 值等的情况下输出调试消息

答案 2 :(得分:-1)

试试这个

var str=((object.x==undefined)?0:object.x)+((object.y==undefined)?0:object.y)+((object.z==undefined)?0:object.z)

或干净的方式

var a=(object.x==undefined)?0:object.x;
var b=(object.y==undefined)?0:object.y;
var c=(object.z==undefined)?0:object.z;

var str=a+b+c;

如果str是一个字符串,那么你应该使用空字符串而不是0。