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循环外面就不会报错??有待研究。。。

 

posted @ 2022-09-10 15:58  枭二熊  阅读(49)  评论(0)    收藏  举报