这段时间在写一个预览图片的插件,

被我老大说了无数次了,不多说啥,说多了都是泪

昨天看着我的代码他说你用了extend,那你知道是什么意思吗

我只知道是扩展的意思,瞬间觉得自己弱爆了

真的

然后今天看深究深究吧

$.extend():可以合并多个对象,不行你看,这个也用到过

今天在看ES6,然后加上最近一个review我发现web端可以用jQuery,来扩展对象,那因为我最近也在写小程序,就发现小程序并不能用jQuery,那我要是想扩展合并对象的话要怎么办呢,今天刚好看到一个Object.assign()

var target={a:}

var srouce={a:,b:,c:}

var obj=Object.assign({},target,source)

最后得到的obj是等于{a:,b:,c:}

也是跟extend一样的效果,也是碰到相同的属性的时候,后面的属性会覆盖前面的属性

我前面加了一个{}空对象,也是跟extend一样,其实加不加都无所谓

var defaults={

multis:

};

var options = $.extend(opts,defaults, {});

console.log(options.multis);

opts = jQuery.extend({

imgType: ["gif", "jpeg", "jpg", "bmp", "png"],

// 布局方式 默认方式是平铺

present: 'full-fill',

multi: ,

width: '',

height: '',

}, opts || {});

options可以拿到defaults和opts的值

这个要说明一下,要是重复的属性,会被覆盖掉

var defaults={

multis:,

multi:

};

var options = $.extend(opts,defaults, {});

console.log(options.multi);

opts = jQuery.extend({

imgType: ["gif", "jpeg", "jpg", "bmp", "png"],

// 布局方式 默认方式是平铺

present: 'full-fill',

multi: ,

width: '',

height: '',

}, opts || {});

这样的时候options.multi会等于10,后面的值会覆盖前面的

还有一个深层合并的,加了一个true,这个还没有用到过

先是没有加true的:

var test=$.extend({name:'lei',location:{city:'beijing'}},{last:'wen',location:{state:'china'}});

console.log(test)

得到了

Object

last: "wen"

location: Object

state: "china"

__proto__: Object

name: "lei"

__proto__: Object__defineGetter__: __defineGetter__()__defineSetter__: __defineSetter__()__lookupGetter__: __lookupGetter__()__lookupSetter__: __lookupSetter__()constructor: Object()hasOwnProperty: hasOwnProperty()isPrototypeOf: isPrototypeOf()propertyIsEnumerable: propertyIsEnumerable()toLocaleString: toLocaleString()toString: toString()valueOf: valueOf()get __proto__: __proto__()set __proto__: __proto__()

要是加了true呢

var test=$.extend(true,{name:'lei',location:{city:'beijing'}},{last:'wen',location:{state:'china'}});

console.log(test)

Object

last:"wen"

location:

Object

city:"beijing"

state:"china"

__proto__ :Object

name :"lei"

__proto__:Object

$.extend(还可以添加静态方法)这就是jquery.fn.extend{imgPreview:function()}这个就是我现在用到的了

$.extend({

add:function(a,b){return a+b},

minu:function(a,b){return a-b}

})

var num=$.add(,)+$.minu(,);

console.log(num)//

然后刚才偶然间又看到某个大神的文章

然后上面有一段代码是这样的,我觉得特别通俗易懂

;(function($){

$.fn.extend({

Firstplus: function() {}

});

//这样写的话插件的使用方法就是:$('div').Firstplus();

$.extend({

Secondplus: function() {}

});

//这样写的话插件的使用方法就是:$.Secondplus();

})($);

这样就让我瞬间明白写插件的时候调用的方式

$.extend()的实现源码 --(源码学习1)

目标: $.extend({         add:function(a,b){             return a + b;         }     }) console.log($.a ...

图片放大功能插件及jquery.extend函数理解

前端时间,产品提出社区评论中的图片需要有放大功能.感觉可以共用,所以就想整合一个插件,过程中也借鉴了一些例子. 分析下自己的代码思路: var scaleImg = function(opts) { ...

$.extend({},defaults, options) --(初体验三)

1.$.extend({},defaults, options) 这样做的目的是为了保护包默认参数.也就是defaults里面的参数. 做法是将一个新的空对象({})做为$.extend的第一个参数, ...

jquery.fn.extend与jquery.extend--(初体验二)

1.jquery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jquery.fn.extend(object);给jQuery对象添加方法. $.extend({ a ...

vue.mixin与vue.extend

vue.mixin 全局注册一个混合,影响注册之后所有创建的每个 Vue 实例.谨慎使用全局混合对象,因为会影响到每个单独创建的 Vue 实例(包括第三方模板).大多数情况下,只应当应用于自定义选项, ...

jQuery中的$.extend方法来扩展JSON对象及合并,方便调用对象方法

$.extend方法可以扩展JSON对象,用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 例一 合并 settings 和 options,修改并返回 settings var setting ...

jQuery.extend 函数详解

JQuery的extend扩展方法:      Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解.      一.Jquery的扩展方 ...

JavaScript中实现extend()方法

var male = { sex: "male" }; var xiaoming = { name: "xiaoming", school: "xin ...

随机推荐

unity3d关于碰撞问题

这个是我做忍者游戏出现的问题,做个记录也为以后有人遇到也可以借鉴.因为刚接触unity,所以对其所知甚少,说错的地方请指教. 问题:角色碰撞墙为什么会先触发碰撞地面,然后再触发碰撞墙 想要的效果:是角 ...

论HTML5 Audio 标签歌词同步的实现

HTML5草案里面其实有原生的字幕标签( Tag)的,但使用的是vtt格式的文件,非常规的字幕(.sub, .srt)或歌词文件(.lrc). 用法如下(代码来自W3Scho ...

【uTenux实验】互斥体

互斥体,维基百科中交互斥锁.其定义是这样的:互斥锁(英语:英语:Mutual exclusion,缩写 Mutex)是一种用于多线程编程中,防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制 ...

使用Navicat远程管理OpenShift的数据库

其实 phpMyAdmin 这个 web 端的 MySQL 数据库管理工具还是很好的,要不然也不会成为 MySQL 数据库的绝配.但是我想,很多人应该和重华一样,不太喜欢使用 web 端的工具,总觉得 ...

Linux 不挂载设备,获取设备的文件系统信息

块设备挂载后,可以通过df 或者 mount命令查看设备的文件系统信息.然而,有时候需要在不挂载设备的情况下予以判断,此时可以使用如下的方法: (1)查看文件系统类型 命令: file -sL /de ...

ucos_ii 上锁函数OSSchedLock()函数透析

因为任务调度时一般都是通过OSTIMEDLY()来实现.在这个函数中会对当前的任务执行挂起.同时查看任务调度表中是否有优先级合适的就绪任务.如果当前任务运行时调用OSSchedLock()给调度器上锁 ...

Android项目实战(二十九):酒店预定日期选择

先看需求效果图: 几个需求点: 1.显示当月以及下个月的日历 (可自行拓展更多月份) 2.首次点击选择"开始日期",再次点击选择"结束日期" (1).如果&qu ...

css格式

c语言extend作用,extend相关推荐

  1. jquery的$.extend和$.fn.extend作用及区别(—)

    jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); 虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便. ...

  2. const在c语言中作用,在C语言中const作用全面总结.doc

    在C语言中const作用全面总结 C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助.Const 是C++中常 ...

  3. c语言接口作用是什么,C语言接口与实现之异常处理try-except

    前言 最近在学习<C语言接口与实现>,目前阅读到第四章,关于如何实现C语言异常捕获和断言处理,其中的异常捕获的栈和收尾处理有点不大明白,直到从网上查找到一篇文章才明白栈和结尾触发异常的作用 ...

  4. c语言定时器作用,Go语言定时器实现原理及作用

    对于任何一个正在运行的应用,如何获取准确的绝对时间都非常重要,但是在一个分布式系统中我们很难保证各个节点上绝对时间的一致性,哪怕通过 NTP 这种标准的对时协议也只能把时间的误差控制在毫秒级,所以相对 ...

  5. 手势在c语言的作用,手势态度在人际交往中的重要性

    一.人际交往的定义及其在社会活动中,人们运用语言符系统或非语言符系统相互之间交流信息,沟通情感的过程就是人际交往.人际交往是人们共同活动的特殊形式.任何个人或群体进行的交往,总是为达到某种目标.满足某 ...

  6. less 之Extend 及 Extend all用法

    Extend 是Less的伪类,他将所放置它的选择器与匹配引用的选择器进行合并. 例如 1 a{ // a 所放置它的选择器 2 background-color: #fff; 3 &:ext ...

  7. c语言编译作用,叙述 C语言编译

    @(C语言)[code] 用一段简单的代码,探讨下从C代码到最终可执行文件的编译过程,追根究底. 偶尔了解下底层,也就没那么多莫名其妙了. 工作原因有时候会用python写写测试工具,感受到其快速实现 ...

  8. 小括号在c语言的作用,C语言的小括号----其实是逗号运算符

    比如下面的代码: #include void fun() { int a, b, c, d; a = (, b = ); c = (, ); d = (, ); printf("%d %d ...

  9. c语言 定时器作用,单片机定时器的作用及使用方法详解

    单片机定时器的作用及使用方法详解 单片机定时器在单片机的功能是很重要的,它一般被用作定时功能,来做定时检测.定时响应和定时控制,并且可以产生毫秒宽的脉冲信号来驱动步进电机.计时和计数的最终功能是通过计 ...

最新文章

  1. 神器与经典--sp_helpIndex
  2. linux pwm 调屏_基于嵌入式Linux的LCD背光调节及驱动的实现
  3. [No0000C0]百度网盘真实地址解析(不用下载百度网盘)20170301
  4. Mysql时间数据分段累加求和案例之子查询与SUM窗口函数
  5. java 获取文件所在的文件夹_【Java视频教程】day32-文件IO??
  6. android 原生调用js,js调用原生
  7. android 初始化类,Android 常用编程技巧/Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造器)...
  8. MySQL在Docker环境下运行基础
  9. 【QT】QT从零入门教程(十二):实现工具箱QButtonGroup
  10. java重装机兵机甲咆哮_重装机兵之机甲咆哮流程攻略
  11. 小米2s刷原生安卓_小米2/2s/2a刷android4.4教程(附2/2s/2a安卓4.4卡刷包下载)
  12. 30首唐诗,道尽人生苦乐
  13. 使用Node.js手撸一个建静态Web服务器,内部CV指南
  14. springboot 环境配置测试环境和线上环境配置
  15. html中用js格式化JSON输出
  16. Yahoo Programming Contest 2019 D - Ears
  17. 利用串口网络助手上传数据、图片到OneNet平台以及获取数据(HTTP)
  18. Web自动化css选择器定位法实现
  19. ant design pro模板_Ant Design Pro入门教程,安装,运行(V5 Typescript版)
  20. Android 从代码中打开淘宝和亚马逊、facebook、Message

热门文章

  1. 小学生计算机学科竞赛类活动,学科竞赛活动方案.doc
  2. OLED显示模块介绍以及OLED显示模块使用注意事项
  3. CCF- CSP 202212-2训练计划 详细思路 满分题解(结尾附自编测试用例)
  4. 分分钟学会 JS AST,打造自己的编译器
  5. 宝塔忘记账号密码解决办法
  6. 我拿到了梦寐以求的字节跳动和腾讯双offer!成功入职字节跳动
  7. 使用html制作表格及文本框,html,表格和表单
  8. 浅谈 | 高低温环境下的车载屏幕功能耐久与触屏精度自动化测试
  9. Hive SQL 五大经典面试题
  10. IT项目管理推荐书籍