为什么下面这种写法不行?而jQuery就可以?target参数是指那个?

为什么下面这种写法不行?而jQuery就可以?target参数是指那个?

;(function($){

$.fn.extend({

color: function(option){

var options = $.extend({

col: "blue",

fz : "20px"

}, option);


this.css("color", options.col);

this.css("fontSize", options.fz);


return this;

},


background: function(option){

var options = $.extend({

bg: "blue"

}, option);


this.css("background", options.bg);


return this;

}

})


})(Zepto);


注意:1. 如果只为$.extend()指定了一个参数,则意味着参数target被省略。此时,target就是jQuery对象本身。通过这种方式,我们可以为全局对象jQuery添加新的函数。这句怎么理解?


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,问题解答如下:

1、$.fn是jQuery的原型对象,jQuery.fn($.fn)=jQuery.prototype,其extend()方法用于为jQuery的原型添加新的属性和方法。那么所有jquery的实例化对象,都会具有添加的方法,或者属性。

2、$.fn.extend({},{})中没有target参数,$.extend()中才有target参数,参考上一次的回复。

3、这两个方法的区别,一个是在jQuery类上添加的,可以理解为添加静态方法,调用时候用$或者jQuery来调用。而jQuery.fn.extend()的调用把方法扩展到了对象的prototype上,所以实例化一个jQuery对象的时候,它就具有了这些方法,调用时候是jquery对象(获取的元素)来调用的。

例如:第一种方式上一次回复中已经举例了

http://img1.sycdn.imooc.com//climg/5e57739209aaddd702210136.jpg

第二种方式:

http://img1.sycdn.imooc.com//climg/5e5773f109a20bf804460205.jpg

自己可以再理解下,祝学习愉快!

好帮手慕星星 2020-02-27 10:22:31

同学你好,zepto.js中和jquery.js中的方法并不完全一样,所以还需要看文档使用方法:

http://www.zeptojs.cn/#$.extend

http://img1.sycdn.imooc.com//climg/5e572407098e23e007930561.jpg

里面没有 $.fn.extend()这种写法,所以会有问题。

另外,target指的是目标对象,下面举个例子

http://img1.sycdn.imooc.com//climg/5e5726d70940833503610259.jpg

object1就是目标对象,将object2合并到object1中,这是多个参数的情况。

如果只有一个参数,就不是合并的情况了,意思是将这个对象添加在jQuery上,为jQuery添加全局函数。例如:

http://img1.sycdn.imooc.com//climg/5e5727c809c4f77b02440152.jpg

http://img1.sycdn.imooc.com//climg/5e5727d009b3479300800022.jpg

自己可以测试理解下。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

  • 提问者 慕尼黑5122342 #1
    那jQuery中的$.fn.extend({},{})的$.fn是什么意思,target参数又是指那个,这样写$.extend({},{})又是什么意思?
    2020-02-27 12:56:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师