在项目的common.js这个文件中看到很多诸如
var fn =jQuery.extend({
type: "POST",
showMsg: true,
error: function(jqXHR,textStatus, errorThrown) {}
},opts || {});这样的写法
首先两个基本概念
jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。
jQuery.fn.extend(object);给jQuery对象添加方法。
如果jQuery.extend(object1,object2)
说后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。
来自 <http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html>
然后js中的逻辑操作符返回的结果不一定是boolean值,opts || {},如果opts不是空对象,那么opts中的参数会覆盖第一个对象中同名的参数,opts为具体调用方法时所传的参数,在common.js中写了这样一段代码
/**
*控件测试
*/
functionhaj(opts){
var HAJ=jQuery.extend({
sex:"male",
age:"26",
}, opts || {});
alert(HAJ.tel);
}
然后在项目内的一个js文件中进行测试
haj({
sex:"male",
age:"26",
});
结果是:13699843918
这个思想有点类似于java中的继承,对父类中的方法进行了重写,