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 相关文章推荐
解密效果
Jun 23 Javascript
扩展JavaScript功能的正确方法(译文)
Apr 12 Javascript
解析javascript 浏览器关闭事件
Jul 08 Javascript
使用jquery动态加载js文件的方法
Dec 24 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
Apr 27 Javascript
js验证真实姓名与身份证号是否匹配
Oct 13 Javascript
JavaScript动态数量的文件上传控件
Nov 18 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
Dec 26 Javascript
解决vue单页路由跳转后scrollTop的问题
Sep 03 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
Mar 12 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
Oct 15 Javascript
基于js判断浏览器是否支持webGL
Apr 18 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(2)――PHP类型
2010/02/15 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
php限制文件下载速度的代码
2015/10/20 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
2017/05/26 PHP
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
JavaScript检测上传文件大小的方法
2015/07/22 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
getElementById().innerHTML与getElementById().value的区别
2016/10/27 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
详解react-redux插件入门
2018/04/19 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
[44:43]完美世界DOTA2联赛决赛日 FTD vs GXR 第一场 11.08
2020/11/11 DOTA
Python实现统计单词出现的个数
2015/05/28 Python
详解Python中的文件操作
2016/08/28 Python
django如何连接已存在数据的数据库
2018/08/14 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
python中栈的原理及实现方法示例
2019/11/27 Python
python绘制封闭多边形教程
2020/02/18 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
用python制作个视频下载器
2021/02/01 Python
计算机开发个人求职信范文
2013/09/26 职场文书
酒店管理自荐信
2013/10/23 职场文书
怎么写自荐书范文
2014/02/12 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers