//在jQuery匿名函数中,采用jQuery.extend();方法创建jQuery插件
//在jQuery匿名函数中, 采用对象.属性 = 函数的方式创建jQuery插件
(function ($) {
jQuery.extend({
jia: function (a, b) {
return a + b;
},
jian: function (a, b) {
return a < b ? b - a : a - b;
}
});
$.sub = {
sheng: function (a, b) {
return a * b;
},
chu: function (a, b) {
return a < b ? b / a : a / b;
}
}
jQuery.fn.Insert = function (a) {
alert(a);
}
})(jQuery)
<script type="text/javascript" src="~/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="~/JQTest.js"></script>
<script type="text/javascript">
function btn_click() {
var a = prompt("请输入一个数字:");
var b = prompt("请输入一个数字:");
var A = prompt("请输入一个数字:");
var c = jQuery.jia(a, b);
var d = jQuery.jian(a, b);
var e = $.sub.sheng(a, b);
var f = $.sub.chu(a, b);
alert("相加:" + c + ",相减:" + d + ",相乘:" + e + ",相除:" + f );
$.fn.Insert("啦啦");
}
</script>
关于”call”
语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]])
定义:调用一个对象的一个方法,以另一个对象替换当前对象。
说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。
关于”this”
在插件的方法中,可能有用到指向插件的this、和指向事件触发的this,所以事件触发的this用event来获取:event.cuerrntTarget
- event.currentTarget:指向事件所绑定的元素,按照事件冒泡的方式,向上找到元素
- event.target:始终指向事件发生时的元素
constructor属性:始终指向创建当前对象的构造函数
每个函数都有一个默认的属性prototype,而这个prototype的constructor默认指向这个函数