JavaScript,理解JavaScript库

学习要点:

1.项目介绍

2.理解JavaScript库

3.创建基础库

从本章,我们来用之前的基础知识来写一个项目,用以巩固之前所学。那么,每个项目为了提高开发效率,我们需要创建一个库来存放大量的重复调用的代码。而在这里,我们需要理解一些知识。

一.项目介绍

在现在流行的网站中,大量使用前端的Web应用,估计就是博客系统了。博客系统目前主要分为两种,一种是博客,一种是微博(一句话博客)。

不管在博客和微博,都采用的大量的JavaScript特效,有图片广告、下拉菜单、表单验证、弹窗、轮播器等等一系列。那么我们就创建一个项目,把上面各种应用较多的效果编写出来。

二.理解JavaScript

什么是JavaScript库?说白了,就是把各种常用的代码片段,组织起来放在一个js文件里,组成一个包,这个包就是JavaScript库。现如今有太多优秀的开源JavaScript库,比如:jQuery、Prototype、Dojo、Extjs等等。这些JavaScript库已经把最常用的代码进行了有效的封装,以方便我们开发,从而提高效率。

当然,这里我们就不去探讨这些开源JavaScript库,那样就太容易了一点。我们这里需要探讨的是自己创建一个JavaScript库,虽然自己创建的可能没有那些开源JavaScript库功能强大,但在提升自己JavaScript开发能力,有很大帮助。

三.创建基础库

我们可以创建一个库,这是一个基础库,名字就叫做base.js。我们准备在里面编写最常用的代码,然后不断的扩展封装。

在最常用的代码中,最最常用的,也许就是获取节点方法。这里我们可以编写如下代码:

封装库代码:

/**
*feng_zhuang_ku_1.0版本,js封装库,2016/12/29日:林贵秀
**/ /**
*定义封装库对象
**/
var feng_zhuang_ku = {
/**------------------------------------------------获取元素标签开始--------------------------------------------**/
/**
* huo_qu_id()方法,通过id获取元素标签,参数是id值,返回元素对象
**/
huo_qu_id: function (id) {
return document.getElementById(id);
},
/**
* huo_qu_name_zhi()方法,通过元素name值获取指定元素,参数是元素name值,返回元素相同name值对象集合,一般获取表单
**/
huo_qu_name_zhi: function (name) {
return document.getElementsByName(name);
},
/**
* huo_qu_name()方法,通过标签名称获取相同标签名的元素,参数是标签名称,返回对象集合
**/
huo_qu_name: function (tag) {
return document.getElementsByTagName(tag);
}
/**------------------------------------------------获取元素标签结束--------------------------------------------**/
};

前台调用代码

//前台调用代码
window.onload = function (){
alert(feng_zhuang_ku.huo_qu_id('li').innerHTML);
alert(feng_zhuang_ku.huo_qu_name_zhi('j')[0].innerHTML);
alert(feng_zhuang_ku.huo_qu_name('div')[2].innerHTML);
};

PS:本项目为了更好的兼容性,我们采用UTF-8,在Notepad++上设置默认为UTF-8即可。此项目不是为了做一个博客或者微博,而是将里面的各种效果拿出来模仿编写。

第一百二十九节,JavaScript,理解JavaScript库的更多相关文章

  1. 第一百二十六节,JavaScript,XPath操作xml节点

    第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准 ...

  2. 第三百二十九节,web爬虫讲解2—urllib库爬虫—ip代理—用户代理和ip代理结合应用

    第三百二十九节,web爬虫讲解2—urllib库爬虫—ip代理 使用IP代理 ProxyHandler()格式化IP,第一个参数,请求目标可能是http或者https,对应设置build_opener ...

  3. 第一百三十九节,JavaScript,封装库--CSS选择器

    JavaScript,封装库--修改元素选择器 就是将构造库函数修改成元素选择器,像css那样,输入#xxx .xxx xxx  (获取指定id下的指定class下的指定标签元素) 修改后的基础库 / ...

  4. 第一百二十五节,JavaScript,XML

    JavaScript,XML 学习要点: 1.IE中的XML 2.DOM2中的XML 3.跨浏览器处理XML 随着互联网的发展,Web应用程序的丰富,开发人员越来越希望能够使用客户端来操作XML技术. ...

  5. 第一百五十九节,封装库--JavaScript,表单序列化结合ajax提交数据

    封装库--JavaScript,表单序列化结合ajax提交数据 封装库,表单序列化方法 /** xu_lie_biao_dan()方法,表单序列化方法,将自动获取指定表单里面的各项字段name值和va ...

  6. 第一百二十四节,JavaScriptCookie与存储

    JavaScriptCookie与存储 学习要点: 1.cookie 2.cookie局限性 3.其他存储 随着Web越来越复杂,开发者急切的需要能够本地化存储的脚本功能.这个时候,第一个出现的方案: ...

  7. 第二百二十九节,jQuery EasyUI,后台管理界面---后台登录

    jQuery EasyUI,后台管理界面---后台登录 登录原理图 一,login.php,登录界面 <!DOCTYPE html> <html> <head> & ...

  8. 第一百六十九节,jQuery,基础事件

    jQuery,基础事件 学习要点: 1.绑定事件 2.简写事件 3.复合事件 JavaScript 有一个非常重要的功能,就是事件驱动.当页面完全加载后,用户通过鼠标 或键盘触发页面中绑定事件的元素即 ...

  9. 第一百八十九节,jQueryUI,折叠菜单 UI

    jQueryUI,折叠菜单 UI 学习要点: 1.使用 accordion 2.修改 accordion 样式 3.accordion()方法的属性 4.accordion()方法的事件 5.acco ...

随机推荐

  1. 干净的架构The Clean Architecture

    干净的架构The Clean Architecture 这是著名软件大师Bob大叔提出的一种架构,也是当前各种语言开发架构.干净架构提出了一种单向依赖关系,从而从逻辑上形成一种向上的抽象系统. 我们经 ...

  2. 我的Android 4 学习系列之创建用户基本界面

    目录 使用视图和布局 理解Fragment 优化布局 创建分辨率无关的用户界面 扩展.分组.创建和使用视图 使用适配器将数据绑定到视图 使用视图和布局 1. Android UI 几个基本概念 视图: ...

  3. 【jar包】JSON之解析利器GSON--【gson-2.2.4.jar】

    Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为串行化Java对象为JSON字符串,或反串行化JSON字符串成Java对象.GSON核心jar包不到 ...

  4. 运行jar包

    windos下,打开dos命令cmd然后cd 你的路径(比如E:/新建文件夹) linux下,打开终端cd 到你的路径( 然后输入java -jar 要运行的jar.jar

  5. JavaScript闭包小窥

    众所周知,JavaScript没有块级作用域,只有函数作用域.那就意味着定义在函数中的参数和变量在函数外部是不可见的,而在一个函数内部任何位置定义的变量,在该函数内部任何地方都可见.这带来的好处是内部 ...

  6. 冒泡排序最佳情况的时间复杂度,为什么是O(n)

    冒泡排序最佳情况的时间复杂度,为什么是O(n) 我在许多书本上看到冒泡排序的最佳时间复杂度是O(n),即是在序列本来就是正序的情况下. 但我一直不明白这是怎么算出来的,因此通过阅读<算法导论-第 ...

  7. greenlet微线程

    Greenlet简介 一个 “greenlet” 是一个很小的独立微线程.可以把它想像成一个堆栈帧,栈底是初始调用,而栈顶是当前greenlet的暂停位置.你使用greenlet创建一堆这样的堆 栈, ...

  8. 关于Django模板引擎的研究

    原创博文,转载请注明出处. 以前曾遇到过错误Reverse for ‘*’ with arguments '()' and keyword arguments' not found.1其原因是没有给视 ...

  9. 【ios开发】ios开发问题集锦

    1. ARC forbids explicit message send of'release' 'release' is unavailable: not available inautomatic ...

  10. 第一章 CLR 的执行模型

    CLR via C# 读书笔记:第一章 CLR 的执行模型(1) 第Ⅰ部分CLR基础.这部分为三章(第一章:CLR的只想能够模型,第二章:生成.打包.部署和管理应用程序及类型,第三章:共享程序集和强命 ...