return语句的位置??
将“return 'No such contact';”放在for循环里面:
注:下面例子中的contacts是一个数组,里面存放的是JS的对象。
function lookUpProfile(name, prop) { for (var i=0; i<contacts.length; i++) { if (name===contacts[i].firstName) { if (contacts[i].hasOwnProperty(prop)){ return contacts[i][prop];//这里一定要使用[]来取对象属性,用.会报错!因为contacts数组里的对象没有prop属性!!
} else { return 'No such property'; } } else { return 'No such contact'; } };//for循环结束 }
将“return 'No such contact';”放在for循环外面:
function lookUpProfile(name, prop) { for (var i=0; i<contacts.length; i++) { if (name===contacts[i].firstName) { if (contacts[i].hasOwnProperty(prop)){ return contacts[i][prop]; } else { return 'No such property'; } } };//for循环结束 return 'No such contact'; }
两者有何不同?为何放在for循环外面就不会报错??有待研究。。。