var QUERY = 'puppies';var kittenGenerator = {  searchOnFlickr_: 'https://secure.flickr.com/services/rest/?',
  requestKittens: function() {
    var req = new XMLHttpRequest();
    req.open("GET", this.searchOnFlickr_, true);
    req.onload = this.showPhotos_.bind(this);
    req.send(null);
  },  showPhotos_: function (e) {
    var kittens = e.target.responseXML.querySelectorAll('photo');
    for (var i = 0; i < kittens.length; i++) {
      var img = document.createElement('img');
      img.src = this.constructKittenURL_(kittens[i]);
      img.setAttribute('alt', kittens[i].getAttribute('title'));
      document.body.appendChild(img);
    }
  },  constructKittenURL_: function (photo) {
    return "http://farm" + photo.getAttribute("farm") +
        ".static.flickr.com/" + photo.getAttribute("server") +
        "/" + photo.getAttribute("id") +
        "_" + photo.getAttribute("secret") +
        "_s.jpg";
  }
};// Run our kitten generation script as soon as the document's DOM is ready.
document.addEventListener('DOMContentLoaded', function () {
  kittenGenerator.requestKittens();
});
是谷歌的js代码,太长了,做了删减。能否先解释一下大概语法,然后告诉我哪里可以找到,谢谢。我在w3cschool  上面找不到这语法。

解决方案 »

  1.   

    这个是JS,这就是几个JS方法,只不过写法有点不一样,这个是用字面量写的。kittenGenerator.方法名().这样调用就行了 。
      

  2.   

    no , this is a single object.
    签名:《Node.js 服务器框架开发实战》 http://url.cn/Pn07N3
      

  3.   

    json 语法[] 数组
    {} object
      

  4.   


    function people( name , sex ){
        this.name = name || "xxx";
        this.sex = sex || "man";
    };
    people.prototype.say = function(){
        console.log( "hi,world!!!" );
    };
    var xxx = new people( "aaaa" , "women" );4楼正解  JS是没有真正意思上的类   它是基于原型的
    上面是一个  基本原型的例子。。
    楼主 也可以把这个理解为“类”
      

  5.   

    完全可以把上述代码中的kittenGenerator 当做一种类类型
      

  6.   

     如果可以当它是一个类你能new一个它的对象出来吗?  这明显就不能,这已经是个对象。
      

  7.   

    不是类,可以理解为singleton。
    javascript中没有类,有模拟出来的类。(所以javascript中的类,还真有点奇特。)
      

  8.   

    那为什么这个文件是.js文件呢?
    json文件也是.js后缀吗?
      

  9.   


    你后缀爱是什么就是什么。json,啊。
      

  10.   

    不对啊,我看w3c的教程,里面没有说JSON有函数啊。
      

  11.   

    所谓的json语法   一般指的也就是面向对象的编码方式
    比如var people = {
        say : function(){
            alert("你好,地球人!");
        }
    };
    people.say();大牛们 出来补充吧
      

  12.   

    还来个json语法,不搞死人才怪。
    json不论去到那种语言上,都要转化成其变量所适应的类型才行。
      

  13.   

    http://www.w3schools.com/json/default.asp
    W3C JSON的说明
      

  14.   

    求各位大神解释一下,为什么json里面有函数?
      

  15.   

    求各位大神解释一下json函数的语法可以吗?或者告诉我再哪里找也行。 w3cshool就免了,上面没有。
      

  16.   

    这个json函数很复杂吗?求大神们给个链接或者书名什么的吧。
      

  17.   

    json不是函数,是一种结构吧,我觉得只要是写成{}形式的对象,就称为json格式的对象。
    我总结json格式对象分四种
    1.模仿数组的对象,如var arr={x1:1,x2:2}
    2.对象直接量,如var obj={attribute:1, method:function(){}}
    3.单体对象:划分了命名空间的对象直接量,上面例子的obj变量,换成功能名,就是单体对象。
    4.命名空间:里面都是函数或类,不是真正的属性和方法。
    我根据js设计模式一书自己总结的,楼主参考
    你的例子是上面的第三种,单体对象。
      

  18.   

    说这个是json的不完全正确。严格意义上的json是基于javascript语法的数据储存和交换文本。而且字段名必须用""括起来,我是吃过亏的,别的语言解析没引号的会出错。json就是使用了javascript的用[]表示数组,用{}表示对象的语法,组合起来主要用于储存或传递数据,比如多个系统之间,或ajax取得服务器数据等方面。json可以是任何后缀的,.json只是显得更直观。回到这个代码,只是写了一个对象,而不是一个类,直接可以用的,不用new。说json的是指这代码写法和json的写法很相近。当然你要说他就是个json,只是字段名没加引号,这也没问题,只是在javascript环境下使用的话不会出错。javascript中有个思想,function是第一公民,function也可以做为数据传递。这种象json一样的写法在js中大量存在,象本代码是直接当成一个对象使用。也有代码做为命名空间,或储存数据,交换数据等等。