/*********************************************************************
* JavaScript库基本格式写法
* 说明:
* 由于自己有单独实现一些Javascript函数,希望将其做成库的形式被重复
* 利用,不过后续需要进一步去分析一些库的源代码才能清楚如何写一个JS库。
*
* 2017-8-28 深圳 龙华樟坑村 曾剑锋
********************************************************************/ 一、参考文档:
. 如何编写一个JS库
http://www.jianshu.com/p/4c895dbbf116
. What does (function($) {})(jQuery); mean?
https://stackoverflow.com/questions/2937227/what-does-function-jquery-mean
. jquery.fn.extend与jquery.extend
http://www.cnblogs.com/wyjgreat/archive/2011/07/19/2110754.html
. JQuery Plugin Defaults and Options
https://stackoverflow.com/questions/8905507/jquery-plugin-defaults-and-options
. jQuery.extend()
https://api.jquery.com/jquery.extend/ 二、(function($) {})(jQuery);
. a code block that looks like (function(){})() is merely a function that is executed in place.
. function($) {}: 相当于函数声明;
. (函数声明)(函数参数): 相当于执行函数;
. (function($) {})(jQuery): 相当于声明一个function($) {}的函数,并直接执行,将JQuery作为参数传入,形参是$; 三、jquery.fn.extend、jquery.extend
. jQuery.extend(object): 为扩展jQuery类本身.为类添加新的方法。
. jQuery.fn.extend(object): 给jQuery对象添加方法。
. jQuery.extend(): 调用并不会把方法扩展到对象的实例上,引用它的方法也需要通过jQuery类来实现。
. jQuery.fn.extend(): 调用把方法扩展到了对象的prototype上,所以实例化一个jQuery对象的时候,它就具有了这些方法。 四、库默认、修改配置写法:
<script>
var defaults = { validate: false, limit: , name: "foo" };
var options = { validate: true, name: "bar" }; // Merge defaults and options, without modifying defaults
var settings = $.extend( {}, defaults, options ); // Assuming JSON.stringify - not available in IE<8
$( "#log" ).append( "<div><b>defaults -- </b>" + JSON.stringify( defaults ) + "</div>" );
$( "#log" ).append( "<div><b>options -- </b>" + JSON.stringify( options ) + "</div>" );
$( "#log" ).append( "<div><b>settings -- </b>" + JSON.stringify( settings ) + "</div>" );
</script>

JavaScript库基本格式写法的更多相关文章

  1. SharePoint Framework 在web部件中使用已存在的JavaScript库 - JavaScript库的格式

    博客地址:http://blog.csdn.net/FoxDave JavaScript库格式 不同的JavaScript库的编译和打包方式各不相同.一些是以模块的方式打包的,而另一些是以纯脚本运行在 ...

  2. (function($, window, document) {}) jQuery 调用解决与其他javascript库冲突的写法

    将函数包在红色字体内部,可以解决$符号与其他插件的冲突. <script type="text/javascript"> (function($, window, do ...

  3. 推荐一个markdown格式转html格式的开源JavaScript库

    这个markdown格式转html格式的开源JavaScript库在github上的地址: https://github.com/millerblack/markdown-js 从markdown 格 ...

  4. 流行的JavaScript库 ——jQuery

    1.为了简化 JavaScript 的开发, 一些 JavsScript 库诞生了. JavaScript 库封装了很多预定义的对象和实用函数.能帮助使用者建立有高难度交互的 Web2.0 特性的富客 ...

  5. Numeral.js – 格式化和操作数字的 JavaScript 库

    Numeral.js 是一个用于格式化和操作数字的 JavaScript 库.数字可以格式化为货币,百分比,时间,甚至是小数,千位,和缩写格式,功能十分强大.支持包括中文在内的17种语言. 您可能感兴 ...

  6. 2017年最好的JavaScript库

    iTour 它让你有机会告诉你任何接口的功能.此外,这个插件可以执行教学,显示任务的功能,提示你做什么和跟进任务的执行.这是他所有类似软件中最灵活和功能最强的插件. Popper.js 这是屏幕上的一 ...

  7. 4款开源免费的数据可视化JavaScript库

    概述:交互式数据可视化在很大程度上取决于JavaScript库的任务能力.在这篇文章中,我们将看看四个JavaScript库:D3,InfoVis,Processing.js,和Recline.js. ...

  8. 转载 javascript中(function($){...})(jQuery)写法是什么意思

    javascript中(function($){...})(jQuery)写法是什么意思   这里实际上是匿名函数function(arg){...}这就定义了一个匿名函数,参数为arg 而调用函数 ...

  9. [Web 前端] 流行的JavaScript库 ——jQuery

    cp : https://www.cnblogs.com/zhoushihui/p/5141767.html   1.为了简化 JavaScript 的开发, 一些 JavsScript 库诞生了. ...

随机推荐

  1. linux 搭建Java环境

    一.下载jdk/jre文件 下载链接 二.安装Java环境 1.解压文件到     /usr/java    目录 # tar zxvf jre-8u60-linux-x64.gz 2.配置环境变量 ...

  2. Azure Active Directory配置java应用的单点登录

    下载应用:https://github.com/Azure-Samples/active-directory-java-webapp-openidconnect(普通项目,集成了特殊配置接入微软的注册 ...

  3. 第五篇:Spark SQL Catalyst源码分析之Optimizer

    /** Spark SQL源码分析系列文章*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程.SqlParser,和Analyzer 以及核心类库TreeNode,本文将详细讲解 ...

  4. SSH 登录时出现如下错误:Host key verification failed

       注意:本文相关 Linux 配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试.其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档. 问题描述 使用 SS ...

  5. 你不知道的东西! c# == 等于运算符 和 Object.Equals()

    最近在看 高级点的程序员必看的     CLR via C#    书中说解释了 Object.Equals()  方法的实现, 其中具体的实现用的是 == 运算符 ! 以前就对 == 运算符 的具体 ...

  6. Java Collections Framework 汇总

    1. Java Collections Framework Java集合框架概览 2. Java Collections Framework 之 RandomAccess接口 3. 关于ArrayLi ...

  7. Mysql数据库实用语句集

    mysql实用语句 (1).从第0行开始取,取3行(一般用于分页)select * from student limit 0,3 (2).查看当前数据库编码 show variables like ' ...

  8. Java 9的JDK中值得期待的:不仅仅是模块化

    在多次延期后,Java 9将于9月21日以Java开发工具包9的形式出现,这是自2014年3月以来,Java标准版的第一次重大升级.官方列出了JDK 9的大约90个新特性,模块化是最主要的一个.将Ja ...

  9. 重新学习MySQL数据库5:根据MySQL索引原理进行分析与优化

    重新学习MySQL数据库5:根据MySQL索引原理进行分析与优化 一:Mysql原理与慢查询 MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能 ...

  10. bzoj 1996 区间dp

    1996: [Hnoi2010]chorus 合唱队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 1727  Solved: 1115[Submit][ ...