# 参数处理

JS:

function plugin_mian_func(options){
var defaluts = {
opt1: 'opt1',
opt2: 'opt2',
opt3: {
opt3_1: 'opt3_1',
opt3_2: 'opt3_2',
}
};

// 覆盖插件默认参数
var options = (function(){
// IE不支持Object.assign
return Object.hasOwnProperty('assign') ? Object.assign({},defaluts,options) : (function(){
for(var name in options){
defaluts[name] = options[name];
}
return defaluts;
})(defaluts, options)
})(defaluts, options);

console.log(options);
}
// 测试
plugin_mian_func({opt1:'user_opt1',opt3: {opt3_1: 'user_opt3_1', opt3_3: 'user_opt3_1'}});

jQuery:

function plugin_mian_func(options){
var defaluts = {
opt1: 'opt1',
opt2: 'opt2',
opt3: {
opt3_1: 'opt3_1',
opt3_2: 'opt3_2',
}
};

// 使用jQuery.extend 覆盖插件默认参数
var options = $.extend({}, defaluts, options);
console.log(options);
}
// 测试
plugin_mian_func({opt1:'user_opt1',opt3: {opt3_1: 'user_opt3_1', opt3_3: 'user_opt3_1'}});

JS-插件编写的更多相关文章

  1. chart.js angular组件封装(ng6)、实战配置、插件编写

    前言 项目需要使用chart.js插件,由于项目是使用angular开发,那么我第一步就是先把chart.js改造成angular组件来使用. 本项目代码都可以在github上下载:项目git地址 a ...

  2. js插件---图片裁剪cropImgBox(适合练习编写插件之用)

    js插件---图片裁剪cropImgBox(适合练习编写插件之用) 一.总结 一句话总结:无论是灰度还是高对比度的图片,都是先处理canvas的像素,使其变成灰度或者高对比度,然后再用canvas.t ...

  3. jQuery插件编写及链式编程模型小结

    JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我们就来看看如何把我们常用的功能做出JQu ...

  4. 【jQuery小实例】js 插件 查看图片

    ---本系列文章所用使用js均可在本博客文件中找到. 像淘宝一样,鼠标放在某一件商品上,展示大图信息,甚至查看图片的具体部位.给人超炫的效果,这种效果实现基于js文件和js插件.大致可以分为三步,添加 ...

  5. jQuery插件编写及链式编程模型

    jQuery插件编写及链式编程模型小结 JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我 ...

  6. 前端开发需要了解的JS插件

    excanvas.js/Chart.js/cubism.js/d3.js/dc.js/dx.chartjs.js/echarts.js/flot.js 用途:构建数据统计图表,兼容多浏览器 jquer ...

  7. AmazeUI(妹子UI)中CSS组件、JS插件、Web组件的区别

    AmazeUI(妹子UI)是非常优秀的国产前端UI,现在来介绍一下AmazeUI中CSS组件.JS插件与Web组件的区别. CSS组件顾名思义就是仅使用CSS渲染而成的组件,而JS插件也很容易理解,就 ...

  8. vue插件编写与实战

    关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 热爱vue开发的同学肯定知道awesome-vue 这个github地址,里面包含了数以千计的vue ...

  9. rewrap-ajax.js插件

    很久没有动手写技术的文章,这个过程中间一直在写日记,生活点滴的记录替代了技术文章的编写,可以看出以往的内心是激情或烈火,现在是... 最近写了一个JS插件,用圈内的话说叫造了个轮子,造的好与不好都不是 ...

  10. 原生JS插件(超详细)

    作为一个前端er,如果不会写一个小插件,都不好意思说自己是混前端界的.写还不能依赖jquery之类的工具库,否则装得不够高端.那么,如何才能装起来让自己看起来逼格更高呢?当然是利用js纯原生的写法啦. ...

随机推荐

  1. linux知识总结与问题总结

    一直以来经常听到LINUX,但是自己学习的也不深,也没有花时间来梳理一下自己的理解.趁着新年这段时间,好好梳理一下. 在理解LINUX前,先简单理解一下 一:操作系统这个概念. 操作系统就是与电脑中的 ...

  2. vijos 1243 生产产品

    貌似两年前联赛复习的时候就看过这题 然而当时大概看看了 感觉太难 便没有去做 如今再去做的时候 发现其实也并不容易 ------------------------------------------ ...

  3. 日期和时间格式(ISO 8601)

    参考 ISO 8601 - Wikipedia ISO 8601 Date and time format

  4. 编译-构建Shell语法的语法树(parse tree)

    翻译自:Generating a parse tree from a shell grammar - DEV Community

  5. 简单DP入门(二) 最长上升子序列及其优化

    最长上升子序列解决问题: 有N个数,求出它最长的上升子序列并输出长度. 在题里不会讲的这么直白,这个算法往往会与其他的算法混在一起使用. 在这篇文章中不会出现其他的例题,为了让大家更好的理解,我只会对 ...

  6. python-form表单

    form表单 form属于块级标签 功能: 表单用于向服务器传输数据,从而实现用户与web服务器的交互 表单能够包含input系列标签,比如文本字段.复选框.单选框.提交按钮等等 表单还可以包含tex ...

  7. Redis测试类

    单机&集群安装: https://blog.csdn.net/zxd1435513775/article/details/88901992 安装5.0.4版本OK,5.0.5版本make时报错 ...

  8. 插件化框架解读之四大组件调用原理-Activity(三)上篇

    阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 本文通过Activity调用原理来解读Replugin插件化技术 ...

  9. 构建一个简单的Spring Boot项目

    11 构建一个简单的Spring Boot项目 这个章节描述如何通过Spring Boot构建一个"Hello Word"web应用,侧重介绍Spring Boot的一些重要功能. ...

  10. [心得]編寫Linux kernel modules時惱人的Makefile

    在一台機器上寫好這樣的Makefile用以編譯modules obj-m:=hello.o CURRENT_PATH:=$(shell pwd) VERSION_NUM:=$(shell uname ...