JS-插件编写
# 参数处理
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-插件编写的更多相关文章
- chart.js angular组件封装(ng6)、实战配置、插件编写
前言 项目需要使用chart.js插件,由于项目是使用angular开发,那么我第一步就是先把chart.js改造成angular组件来使用. 本项目代码都可以在github上下载:项目git地址 a ...
- js插件---图片裁剪cropImgBox(适合练习编写插件之用)
js插件---图片裁剪cropImgBox(适合练习编写插件之用) 一.总结 一句话总结:无论是灰度还是高对比度的图片,都是先处理canvas的像素,使其变成灰度或者高对比度,然后再用canvas.t ...
- jQuery插件编写及链式编程模型小结
JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我们就来看看如何把我们常用的功能做出JQu ...
- 【jQuery小实例】js 插件 查看图片
---本系列文章所用使用js均可在本博客文件中找到. 像淘宝一样,鼠标放在某一件商品上,展示大图信息,甚至查看图片的具体部位.给人超炫的效果,这种效果实现基于js文件和js插件.大致可以分为三步,添加 ...
- jQuery插件编写及链式编程模型
jQuery插件编写及链式编程模型小结 JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我 ...
- 前端开发需要了解的JS插件
excanvas.js/Chart.js/cubism.js/d3.js/dc.js/dx.chartjs.js/echarts.js/flot.js 用途:构建数据统计图表,兼容多浏览器 jquer ...
- AmazeUI(妹子UI)中CSS组件、JS插件、Web组件的区别
AmazeUI(妹子UI)是非常优秀的国产前端UI,现在来介绍一下AmazeUI中CSS组件.JS插件与Web组件的区别. CSS组件顾名思义就是仅使用CSS渲染而成的组件,而JS插件也很容易理解,就 ...
- vue插件编写与实战
关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 热爱vue开发的同学肯定知道awesome-vue 这个github地址,里面包含了数以千计的vue ...
- rewrap-ajax.js插件
很久没有动手写技术的文章,这个过程中间一直在写日记,生活点滴的记录替代了技术文章的编写,可以看出以往的内心是激情或烈火,现在是... 最近写了一个JS插件,用圈内的话说叫造了个轮子,造的好与不好都不是 ...
- 原生JS插件(超详细)
作为一个前端er,如果不会写一个小插件,都不好意思说自己是混前端界的.写还不能依赖jquery之类的工具库,否则装得不够高端.那么,如何才能装起来让自己看起来逼格更高呢?当然是利用js纯原生的写法啦. ...
随机推荐
- linux知识总结与问题总结
一直以来经常听到LINUX,但是自己学习的也不深,也没有花时间来梳理一下自己的理解.趁着新年这段时间,好好梳理一下. 在理解LINUX前,先简单理解一下 一:操作系统这个概念. 操作系统就是与电脑中的 ...
- 笔记:JFB 部署新环境,要更改的参数清单列表
ylbtech-笔记:JFB 部署新环境,要更改的参数清单列表 1. Web.config返回顶部 2. JS返回顶部 1./m/js/utils.js var utils = {} 序号 参数 ...
- Java学习之多线程(线程安全问题及线程同步)
一.线程安全问题产生前提:1.多线程操作共享数据2.线程任务中有多条代码 class Ticket implements Runnable { //2.共享数据 private int num = 1 ...
- Asp.Net Core 第03局:Startup
总目录 前言 本文介绍Startup,它主要用于配置应用使用的服务和应用的请求管道. 环境 1.Visual Studio 2017 2.Asp.Net Core 2.2 开局 第一手:Startup ...
- python排序算法-冒泡和快速排序,解答阿里面试题
''常见的排序算法\ 插入排序/希尔排序/直接排序/堆排序 冒泡排序/快速排序/归序排序/基数排序 给定一个列表,将这个列表进行排序,要求:> 时间复杂度要小于O(n^2) 复杂度:1.时间复杂 ...
- Html5 学习笔记 --》html基础 css 基础
HTML5 功能 HTML5特点 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta cha ...
- k8s-启动、退出动作
vim post.yaml apiVersion: v1 kind: Pod metadata: name: lifecycle-demo spec: containers: - name: life ...
- python使用消息队列RabbitMq(入门)
windows平台开发和使用 安装 安装Erlang:https://pan.baidu.com/s/1QcZDaI205uaue7mMWh5cSA 安装RabbitMQ:https://pan.ba ...
- C# 几进制 转换到几进制
public string ConvertString(string value, int fromBase, int toBase) { int intValue = Convert.ToInt32 ...
- javaScript Queue
function Queue() { var items = []; this.enqueue = function(element) { items.push(element) } this.deq ...