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 相关文章推荐
表单的一些基本用法与技巧
Jul 15 Javascript
用js实现计算代码行数的简单方法附代码
Aug 13 Javascript
jquery中eq和get的区别与使用方法
Apr 14 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
Jun 23 Javascript
JavaScript判断数字是否为质数的方法汇总
Jun 02 Javascript
浅谈JS原生Ajax,GET和POST
Jun 08 Javascript
JavaScript基于原型链的继承
Jun 22 Javascript
JQuery选中select组件被选中的值方法
Mar 08 jQuery
微信小程序自定义toast的实现代码
Nov 16 Javascript
vue项目出现页面空白的解决方案
Oct 31 Javascript
实现一个Vue自定义指令懒加载的方法示例
Jun 04 Javascript
Vant 在vue-cli 4.x中按需加载操作
Nov 05 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/07/07 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
php结合安卓客户端实现查询交互实例
2015/05/05 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
phpcmsv9.0任意文件上传漏洞解析
2020/10/20 PHP
IE 下的只读 innerHTML
2009/08/21 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
微信小程序左滑删除功能开发案例详解
2018/11/12 Javascript
Vue程序调试的方法
2019/06/17 Javascript
Python操作SQLite简明教程
2014/07/10 Python
python中列表元素连接方法join用法实例
2015/04/07 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
Python @property使用方法解析
2019/09/17 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
python实现移动木板小游戏
2020/10/09 Python
Python使用Pygame绘制时钟
2020/11/29 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
优秀班干部事迹材料
2014/01/26 职场文书
公司行政管理制度范本
2015/08/05 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
python文件名批量重命名脚本实例代码
2021/04/22 Python