这些年主要关注于项目管理方面的工作,编码就比较少了。这几天比较空闲,就想把原来的经验沉淀下来,一个是做好记录,以后如果忘记了还能尽快找回来,第二个是写写博文,算是练练手笔吧。

言归正传,这次写的是Javascript类库。大家都知道,Javacript是一种很有意思的语言。虽然它是前端语言,但是它能做的事情远远超出我们的想象。Javascript同样是一种面向对象的语言,使用它,同样可以自定义对象,同样也具备对象的一些特性,即封装,继承,多态性。同时,Javascript同样也有设计模式,同样能过编写出高质量的代码,虽然在很多时候不是很需要这样。

这次要写的Javascript类库,其实很简单,只是用jQuery插件的方式将各种自定义函数进行封装而已,便于调用。下面是Visual Studio 2013的解决方案图。

这里其实也是定义了Javascript的一种架构,即jQuery的架构方式(基于目录的架构)。后续将会继续补充和完善该jQuery插件的使用方法等等。关于架构方面,以前关注得也相对比较多,但是最近想再翻出来玩玩,所以后续也会陆续有关于.NET架构方面的文章发出。

这次写的类库其实很简单,就是用jQuery封装了一下,使用了Javascript的匿名函数进行的。具体可以看我以前的一片博文:jQuery扩展插件和拓展函数的写法(匿名函数使用的典型例子)

下面简要对该类库做个说明。先看编写方式说明:

相信有一点Javascript基础的人就能看得懂了。使用方法很简单,就是基于jQuery的匿名函数编写的静态函数而已。

使用方法:$.JSFn.FunctionWithOutParam();

然后开始看代码:

这里用jQuery的extend方法进行了扩展,就是基于这种方式的一种封装。定义了该插件,即函数名称为JSFn,这里没有使用Common,主要是认为这个是Javascript的一些自定义函数,应该封装在函数库中。上面同时定义了PlugInInfo这个静态变量,使用静态变量的方式声明了该类库的一些基本信息。

下面拿一个库中的函数进行下说明:

首先,声明函数名称CheckBrowser,用function匿名函数封装起来。在函数的{号下面添加函数声明注释。

/// <summary>

/// 检测浏览信息

/// </summary>

/// <returns>返回包含浏览器信息的变量</returns>

这里必须这样子添加注释,否则在使用该类库的时候无法取得智能函数提示了。见下图。

下面看看测试用例:

这里只是简单的获取了该类库的一些静态变量的基本信息而已。

上面的测试方法,同样能使用下面的方式进行测试:

使用上面的代码,就能够把该代码插入到页面的任意位置,反正也是在页面各元素控件加载完毕后再执行。

最后,提供该函数类库的下载,欢迎大家添加并共享出来。

http://files.cnblogs.com/lzhdim/JSFn.js

上面简要的描述了基于jQuery匿名函数的Javascript函数类库的编写方法,希望能够对大家有那么点帮助那就够了。

Ps.今天已经周四了,时间过得很快,马上又要到年底了。祝愿在剩下的几个月中能有好的文章写出来。

编写Javascript类库(jQuery版) - 进阶者系列 - 学习者系列文章的更多相关文章

  1. 编写Javascript类库(jQuery版

    编写Javascript类库(jQuery版) - 进阶者系列 - 学习者系列文章 Posted on 2014-11-13 09:29 lzhdim 阅读(653) 评论(1) 编辑 收藏 本系列文 ...

  2. jQuery插件库代码分享 - 进阶者系列 - 学习者系列文章

    这些天将原来在网上找的jQuery插件进行了下整理,特此将代码分享出来给大家. 见下图结构. 对目录结构进行了分类.这里是插件列表. 这里总共收集了20来个插件.还有下面未进行划分的. 下面是DEMO ...

  3. VMWare 11安装操作系统 - 初学者系列 - 学习者系列文章

    在2010年的时候,我写过一篇关于VMWare的安装操作系统的博文.但是今天在QQ群里有人问起VMWare安装操作系统的问题,虽然回答了,但是回头看了下当时那篇博文,决定重新写一文. 首先要获取VMW ...

  4. 使用U盘的PE系统安装Windows10操作系统 - 初学者系列 - 学习者系列文章

    今天闲来无事,就把windows 10的安装再重写一个文(以前写过一个:安装免费的正版Windows10操作系统 - 初学者系列 - 学习者系列文章  ). 1.  制作一个WinPE的U盘. 相信现 ...

  5. 安装Windows10操作系统 - 初学者系列 - 学习者系列文章

    今天无事,就将安装操作系统的几种方式进行了总结( https://www.cnblogs.com/lzhdim/p/13719725.html ).这篇博文主要是对安装windows10操作系统的过程 ...

  6. Windows无法安装到GPT格式磁盘的根本解决办法 - 初学者系列 - 学习者系列文章

    上次在MSDN系统QQ群里有朋友问到在安装操作系统的时候有个问题:Windows无法安装到GPT格式磁盘,见图: 我在这里说下,使用网上方法的都是小白,就是说网上那些都是小白.下面介绍如何正确安装操作 ...

  7. 安装Windows11操作系统(不需要绕过TPM检测脚本等) - 初学者系列 - 学习者系列文章

    Windows11操作系统是去年微软公司的最新力作.对于该操作系统的安装,网上有很多的教程了.这次主要写的是不需要绕过TPM检测操作安装Windows11操作系统. 1.        制作启动U盘: ...

  8. 编写javascript、Jquery的String.format();

    在javascript.Jquery里面好像是没有String.format();这个函数的,所以我们在拼接字符串的时候就特别的辛苦,生怕又打错,而且又乱,所以就自己去写一个函数来代替. String ...

  9. JavaScript类库---JQuery(一)

    1.基础: Jquery类库定义了一个全局函数:JQuery(); 别名$.是JQuery在全局命名空间中定义的唯一两个变量.返回一个新创建的JQuery对象: 另:JQuery中定义的许多方法返回值 ...

随机推荐

  1. 如何用C#代码判断一个类的类型

     var s = "";  s.GetType().IsClass; 来自为知笔记(Wiz)

  2. 【续集】塞翁失马,焉知非福:由 Styles.Render 所引发 runAllManagedModulesForAllRequests="true" 的思考

    在上一篇中,还有个遗留问题没有解决,就是 ASP.NET MVC MapRoute .htm 不起作用,如果不使用 runAllManagedModulesForAllRequests="t ...

  3. typeof的一些兼容性问题

    typeof存在一些兼容性的问题,在IE6,7,8中的DOM和BOM元素及其对象上的方法的判定会出现误差,在safari上对NodeList实例 的判定,对ExpReg实例的判断(早期的chrome, ...

  4. C#对SQL Server数据库的备份与还原

    备份数据库: string connectionString = "server=服务器名称;database=数据库名;uid=登入名;pwd=登入密码";         // ...

  5. 请求facebook授权时,返回错误

    在请求facebook授权时,返回如下错误:所提供的网址不被应用程序配置所接纳.:应用程序的设置不允许一个或多个所提供的链接.它必须与网站的URL或Canvas的URL相符,或该域必须是应用程序的一个 ...

  6. Java多线程学习笔记

    进程:正在执行中的程序,其实是应用程序在内存中运行的那片空间.(只负责空间分配) 线程:进程中的一个执行单元,负责进程汇总的程序的运行,一个进程当中至少要有一个线程. 多线程:一个进程中时可以有多个线 ...

  7. Go项目的目录结构

    项目目录结构如何组织,一般语言都是没有规定.但Go语言这方面做了规定,这样可以保持一致性,做到统一.规则化比较明确. 1.一般的,一个Go项目在GOPATH下,会有如下三个目录: |--bin |-- ...

  8. Sql Server函数全解(四)日期和时间函数

      日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同 ...

  9. 8.2 使用Fluent API进行实体映射【Code-First系列】

    现在,我们来学习怎么使用Fluent API来配置实体. 一.配置默认的数据表Schema Student实体 using System; using System.Collections.Gener ...

  10. C++ this指针的用法

    this指针的含义及其用法: 1. this指针是一个隐含于每一个成员函数中的特殊指针.它指向正在被该成员函数操作的那个对象.2. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针, ...