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 上面找不到这语法。
------解决方案--------------------
这个是JS,这就是几个JS方法,只不过写法有点不一样,这个是用字面量写的。kittenGenerator.方法名().这样调用就行了 。
------解决方案--------------------
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是没有真正意思上的类 它是基于原型的
上面是一个 基本原型的例子。。
楼主 也可以把这个理解为“类”
------解决方案--------------------
你后缀爱是什么就是什么。
json,啊。
------解决方案--------------------
所谓的json语法 一般指的也就是面向对象的编码方式
比如
var people = {
say : function(){
alert("你好,地球人!");
}
};
people.say();
大牛们 出来补充吧
------解决方案--------------------
还来个json语法,不搞死人才怪。
json不论去到那种语言上,都要转化成其变量所适应的类型才行。
------解决方案--------------------
json不是函数,是一种结构吧,我觉得只要是写成{}形式的对象,就称为json格式的对象。
我总结json格式对象分四种
1.模仿数组的对象,如var arr={x1:1,x2:2}
2.对象直接量,如var obj={attribute:1, method:function(){}}
3.单体对象:划分了命名空间的对象直接量,上面例子的obj变量,换成功能名,就是单体对象。
4.命名空间:里面都是函数或类,不是真正的属性和方法。
我根据js设计模式一书自己总结的,楼主参考
你的例子是上面的第三种,单体对象。
------解决方案--------------------
说这个是json的不完全正确。严格意义上的json是基于javascript语法的数据储存和交换文本。而且字段名必须用""括起来,我是吃过亏的,别的语言解析没引号的会出错。
json就是使用了javascript的用[]表示数组,用{}表示对象的语法,组合起来主要用于储存或传递数据,比如多个系统之间,或ajax取得服务器数据等方面。json可以是任何后缀的,.json只是显得更直观。
回到这个代码,只是写了一个对象,而不是一个类,直接可以用的,不用new。说json的是指这代码写法和json的写法很相近。当然你要说他就是个json,只是字段名没加引号,这也没问题,只是在javascript环境下使用的话不会出错。javascript中有个思想,function是第一公民,function也可以做为数据传递。
这种象json一样的写法在js中大量存在,象本代码是直接当成一个对象使用。也有代码做为命名空间,或储存数据,交换数据等等。