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 相关文章推荐
在VS2008中使用jQuery智能感应的方法
Dec 30 Javascript
js关闭父窗口时关闭子窗口
Apr 01 Javascript
jquery阻止冒泡事件使用模拟事件
Sep 06 Javascript
JavaScript删除数组元素的方法
Mar 20 Javascript
AngularJS包括详解及示例代码
Aug 17 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
Sep 24 Javascript
AngularJS ng-template寄宿方式用法分析
Nov 07 Javascript
jQuery的Read()方法代替原生JS详解
Nov 08 Javascript
ES6新增的math,Number方法
Aug 06 Javascript
Vue中的基础过渡动画及实现原理解析
Dec 04 Javascript
vue 兄弟组件的信息传递的方法实例详解
Aug 30 Javascript
JS canvas实现画板和签字板功能
Feb 23 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
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
jQuery TextBox自动完成条
2009/07/22 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
JS+CSS实现可拖拽的漂亮圆角特效弹出层完整实例
2015/02/13 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
Vue触发input选取文件点击事件操作
2020/08/07 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
python全栈开发语法总结
2020/11/22 Python
英国100%防污和防水的靴子:Muck Boot Company
2020/09/08 全球购物
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
鲜花方阵解说词
2014/02/13 职场文书
小学五年级学生评语
2014/04/22 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
四风问题查摆材料
2014/08/25 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL
Vue如何清空对象
2022/03/03 Vue.js
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL