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 相关文章推荐
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
Jan 22 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 Javascript
js改变Iframe中Src的方法
May 05 Javascript
JS验证IP,子网掩码,网关和MAC的方法
Jul 02 Javascript
Bootstrap 组件之按钮(二)
May 11 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
Jun 27 Javascript
JS清除字符串中重复值的实现方法
Aug 03 Javascript
js学习总结之dom2级事件基础知识详解
Jul 27 Javascript
微信小程序动态显示项目倒计时
Jun 20 Javascript
JS实现的排列组合算法示例
Jul 16 Javascript
如何在vue 中使用柱状图 并自修改配置
Jan 21 Vue.js
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分组后模板无法加载问题解决方法
2016/07/12 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
jQuery Ajax 实例全解析
2011/04/20 Javascript
actionscript与javascript的区别
2011/05/25 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
初识Javascript小结
2015/07/16 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
JS常用正则表达式总结【经典】
2017/05/12 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
vue调用本地摄像头实现拍照功能
2020/08/14 Javascript
利用python获得时间的实例说明
2013/03/25 Python
python之pandas用法大全
2018/03/13 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
python处理RSTP视频流过程解析
2020/01/11 Python
python 字典item与iteritems的区别详解
2020/04/25 Python
python学习笔记之多进程
2020/08/06 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
思想品德课教学反思
2014/02/10 职场文书
数字化校园建设方案
2014/05/03 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
Vue2.0搭建脚手架
2022/03/13 Vue.js