javascript学习(一)构建自己的JS库


Posted in Javascript onJanuary 02, 2013

前言
库是一个饱受争议的热门话题。一种观点认为它是一种非常棒的工具,是任何开发者都不可或缺的;另一种观点则认为在不理解库的内部工作原理的情况下对库形成依赖,会助长懒惰的风气从而导致开发者素质下降。但是不管怎么样,好像每个人都赞同编写自己的库,况且把自己日常用到的东西合并到一起本身就是一件有意义的事情。

下面我们开始建立自己的JS库,并编写两个自己的方法

//作者: 
//时间:2012-11-13 
(function(){ window['LS']={}; 
function $(){ 
var elements =new Array(); 
var element; 
for(var i=0;i<arguments.length;i++){ 
if(typeof(arguments[i])=="string"){ 
element=document.getElementById(arguments[i]); 
} 
if(arguments.length==1){ 
return element; 
} 
elements.push(element); 
} 
return elements; 
} 
window['LS']['$']=$; 
function getElementByClassName(className,tag){ 
var allTags=document.getElementsByTagName(tag); 
var matchingElements=new Array(); 
className=className.replace(/\-/g,"\\-"); //不明白这句话是什么意思。 
var regex=new RegExp("(^|\\s)*"+className+"(\\s|$)"); 
var element; 
for(var i=0;i<allTags.length;i++){ 
element=allTags[i]; 
if(regex.test(element.className)){ //这个element.className也不明白是什么意思 
matchingElements.push(element); 
} 
} 
return matchingElements; 
} 
window['LS']['getElementByClassName']=getElementByClassName; 
})() //如果不加()不能执行

本人是刚开始接触javascript,里面注释部分是我不懂的地方,也希望高人能指点一下。
Javascript 相关文章推荐
初学Javascript的一些总结
Nov 03 Javascript
基于jquery的表格排序
Sep 11 Javascript
jquery $.ajax()取xml数据的小问题解决方法
Nov 20 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
Apr 02 Javascript
JS获取IMG图片高宽的简单实例
May 17 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
Oct 15 Javascript
常用jQuery选择器汇总
Feb 02 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
Jun 11 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
Dec 04 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
Sep 27 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
Nov 02 Javascript
vue各种事件监听实例(小结)
Jun 24 Javascript
jQuery常见开发技巧详细整理
Jan 02 #Javascript
js显示时间 js显示最后修改时间
Jan 02 #Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
Jan 02 #Javascript
js 回车提交表单两种实现方法
Dec 31 #Javascript
event.currentTarget与event.target的区别介绍
Dec 31 #Javascript
jQuery $.data()方法使用注意细节
Dec 31 #Javascript
JavaScript 盒模型 尺寸深入理解
Dec 31 #Javascript
You might like
PHP产生随机字符串函数
2006/12/06 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
2019/05/13 PHP
通过jquery实现tab标签浏览效果
2007/02/20 Javascript
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
jQuery 树形结构的选择器
2010/02/15 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
JS实现复制功能
2017/03/01 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
python实现简单的计时器功能函数
2015/03/14 Python
python中常用检测字符串相关函数汇总
2015/04/15 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
pandas多级分组实现排序的方法
2018/04/20 Python
在python中pandas的series合并方法
2018/11/12 Python
Python中安装easy_install的方法
2018/11/18 Python
Python简单获取二维数组行列数的方法示例
2018/12/21 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
编写strcpy函数
2014/06/24 面试题
建筑专业自荐信范文
2014/01/05 职场文书
女方回门宴答谢词
2014/01/14 职场文书
节电标语大全
2014/06/23 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
个人汇报材料范文
2014/12/30 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
党风廉政建设心得体会
2019/05/21 职场文书
Python入门学习之类的相关知识总结
2021/05/25 Python