ajax循环json 中的 for(var prop in data) 与 hasProperty()

  上周终于有机会接触了ajax...  因为一直没有做过,所以觉得不是很理解,用jQuery 写的

  首先:

 1 $(".J-update").bind("click",function(){
 2 
 3     vars.....//声明定义了一堆变量
 4 
 5     $.ajax({
 6         url : ...,
 7         datatype :  "jsonp", 
 8         jsonp : "cb",
 9         type : "GET",
10         timeout : 10000,
11         sucess : function(){
12 
13         },
14         error : function(){
15 
16         }
17     });
18 
19 });

        json 是一个对象,里面包含很多个具体的对象;而jsonp 是为解决“跨域” (什么是"跨域":"图一"?)

 1     var prop;
 2     var obj = {
 3         name    : {aa:"Nick",bb:"xian"},
 4         sex     : {aa:"Man",bb:"dd"},
 5         country : {aa:"America",bb:"hao"}
 6     };
 7     for(prop in obj){
 8         console.log("Property name is ",prop);
 9         console.log("Property value is ",obj[prop].bb);
10     }

  上面的obj 可以认为是json 文件。prop 是obj 的“属性”。 for(prop in obj) 会一条一条的循环obj 。上面结果如下:

  Property name is name
  Property value is xian
  Property name is sex
  Property value is dd
  Property name is country
  Property value is hao
 1 var prop,i = 0;
 2     var obj = {
 3         name    : {aa:"Nick",bb:"xian"},
 4         sex     : {aa:"Man",bb:"dd"},
 5         country : {aa:"America",bb:"hao"}
 6     };
 7     for(prop in obj){
 8         console.log("Property name is ",prop);
 9         console.log("Property value is ",obj[prop].bb);
10         i++;
11         console.log(i);//可以计算出有多少条数据
12         console.log("prop.length:",prop.length," obj[prop]:",obj[prop]," obj[prop].length:",obj[prop].length);//D方案
13     }

  上面代码定义var i; i++;可以得到有几条数据。而D方案 prop.length 就是字符串的长度,obj[prop].length 则是 undefined.

  for-in 循环有一个问题,就是它不仅遍历对象的实力属性(instance property), 同样还遍历从原型继承来的属性。当遍历自定义对象的属性时,往往会因为意外的结果而终止。出于这个原因,最好使用 hasOwnProperty()方法来为 for-in 循环过滤出实例属性。

  
1 for(prop in obj){
2     if(obj.hasOwnProprty(prop)){
3         console.log("Property name is ",prop);
4         console.log("Property value is ",obj[prop].bb);
5     }    
6 }

    关于 for-in 循环还有一点需要注意,即for-in 是用来遍历对象的。一个常见的错误用法是使用它来循环遍历数组成员

图一:

疯癫不成狂,有酒勿可尝;世间良辰美,终成水墨白。
原文地址:https://www.cnblogs.com/chuyu/p/sophia.html