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. Node填坑教程——整理文件

    如果你能把所有代码写进一个文件,并且能很好的管理.协调.多人开发.那么可以跳过这期(请务必带我飞). 我们接着完善上期的代码,给代码分家. node并没有启动入口,更没有固定的项目结构,文件配置.这些 ...

  2. Weblogic Server 的下载,安装配置与部署

    下载 下载页面: http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html 目前 ...

  3. 《剑指Offer》面试题-从头到尾打印链表

    题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例.每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点.第一行是链表第一个节点的值,依次类推 ...

  4. LaTex代码生成器

    latex代码生成器 希腊字母 \alpha \beta \gamma \delta \epsilon \zeta \eta \theta \iota \kappa \lambda \mu \nu \ ...

  5. 10.26最后的模拟DAY2 改造二叉树[中序遍历+严格递增的最长不下降子序列]

    改造二叉树 [题目描述] 小Y在学树论时看到了有关二叉树的介绍:在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他 ...

  6. 文本框文字垂直居中 CSS

    <html> <head> <style type="text/css"> #text { height:20px; vertical-alig ...

  7. vs2013

    vs2013使用初体验   刚安装好vs2013 , 初步体验了一把, 下面是我目前感受到的改变(对比vs2012) 1. 任务栏图标变了 (左边vs2013, 右边vs2012)    2. 开始界 ...

  8. [原]Escape From the iOS Sanbox on Jailbreak Device

    just my thinking, 3 ways to escape from sandbox on jailbreak device, to do file copying or execute s ...

  9. CFileDialog类与16进制格式的dat文件

    CFileDialog类与16进制格式的dat文件 要将数据保存为.dat文件,而且是16进制的数字,怎么保存? 要读取.dat文件,文件是16进制的,怎么读取? 用CFileDialog类可以得到[ ...

  10. “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成)

    “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成) 一.这篇文章主要是要实现:图片新闻的添加,无刷新图片的上传,以及添加新闻静 ...