toolbarlite随笔之插件的闭包写法】的更多相关文章

toolbarlite这个东西至今没搞懂是什么玩意.因为除了源代码我实在是找不到除了toolbar之外的任何关于toolbarlite的东西了.不知道toolbarlite是不是toolbar的子集,不过随意吧,我是懒得去读toolbar的源代码了. 既然是使用了toolbarlite这个小插件,那么自然是可以找到源代码看的,于是我就翻开了.于是我就蒙蔽了,我实在是不知道那些写插件的人为什么要写英文注释,然后偏偏搞上中文版的名号,这是欺诈!当然跟我英文不好没什么关系的,这不容置疑. 然后我只能顺…
slider轮播插件相信大家经常会用到,写法也是各种各样,大部分都是用的第三方提供的组件使用,如果想基于自己的业务特点封装个组件供自己使用的话就要自己封装组件了,网上看了大部分写法都是通过js控制dom节点位移的方法,这里就不多做介绍了,还有一些用纯css就能完成的写法也提供出来仅供. 1,jquery-slider 2,css-slider 源码地址: https://github.com/BothEyes1993/-jquery-css--slider…
前言 如同第一章我们说的,宿主程序通过 dexclassloader 将插件的类加载进来,然后通过反射去调用它的方法,这样Activity就被当成了一个普通的类来执行了,因此系统不再接管它的生命周期,也就是说Activity的生命周期函数失效了.针对这样的问题,有网友想出使用Fragment来解决此问题,Fragment既有类似于Activity的生命周期,又有类似于View的界面,因此选它比较合适,具体的做法是将Fragment加入到宿主的代理Activity内部,其生命周期将完全由代理Act…
前言 上一节我们针对插件最基本的原理进行了一个简单的demo实现,但是由于插件的Context对象被宿主所接管,因此无法加载插件程序的资源.那么如何解决这个问题捏? 有人提出这样的方案:将apk中的资源解压到某个目录下,然后通过读文件的方法进行资源加载,虽然理论上可以实现,但是实际操作起来难度很大,首先资源文件格式不一(xml.图片等),其次针对不同分辨率的手机,Android设备也会加载同名不同路径下的图片,因此这种方案实现起来难度非常大.也有人说,可以将插件资源复制一份到宿主工程中,然而如果…
jQuery插件分类3中: 1.封装对象方法的插件. 2.封装全局函数的插件. 3.选择器插件. jQuery插件机制 jQuery提供了两个用于扩展jQuery功能的方法: 1.jQuery.fn.extend()方法——封装对象方法. 代码如下: ;(function($){ ////这里写插件代码 })(jQuery); 2.jQuery.extend()方法——封装全局函数.选择器插件,还有一个很强大的功能,用于扩展已有的Object对象. 代码如下: jQuery.extend(tar…
前阵子重新复习了一下js基础知识,第一篇博客就以分享闭包心得为开始吧. 首先,要理解闭包,就必须要了解一个概念:作用域链. 作用域链 作用域代表着可访问变量的集合,变量分为全局变量和局部变量两种,在函数内部所声明的变量被称作局部变量,在全局作用域声明的被称作全局变量. JavaScript中,在函数内部可以读取到全局变量以及函数外部所声明的局部变量,但是在函数内部声明的变量在函数外部是无法获取到的. 来看下面这幅图: 上图中,val1为全局变量,函数func1和func2均能访问到val1. v…
var main = main || {}; ; (function (main) { 'use strict'; //私有变量 var _s1 = 'Hello '; var _s2 = 'World!~'; //私有方法 var _func = { helloWorld: function (str1, str2) { return str1 + str2; } }; //公有方法 main.method = { add: function (a, b) { return a + b; },…
就是实现复制的一个过程 (function() { var Explode = function(container, params) { 'use strict'; var n = this; if(!(this instanceof Explode)) return new Explode(container, params); var defaults = { img: 'chi2.png', type: 1 }; params = params || {}; /*有参数传递进来赋给par…
(function($){ var a={name:'2222',age:5555} var b={sex:'男',grade:5555} var c=$.extend({},a,b);//合并到新的对象 console.log(c) $.extend({//扩展静态方法 wushu:function(){alert('我会无数');} }); $.fn.extend({//扩展实例方法 wushu:function(){ console.log(this.each(function(){}))…
第7章 jQuery插件的使用和写法 插件又称扩展,是一种遵循一定规范的应用程序接口写出来的程序. 插件的编写思想基于面向对象. 获取最新的插件可以查看jquery官网:http://plugins.jquery.com/ 本章将从几个基本的例子来介绍jquery插件的使用. 一. 表单验证插件Validation jquery最常用的场合就是表单验证.Validation则是历史最悠久的jquery插件之一.分为内置验证规则,和自定义验证规则.信息提示明确--可以通过keyUp,focus等方…