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 相关文章推荐
用jquery实现点击栏目背景色改变
Dec 10 Javascript
基于datagrid框架的查询
Apr 08 Javascript
Javascript代码在页面加载时的执行顺序介绍
May 03 Javascript
js限制input标签中只能输入中文
Jun 26 Javascript
css如何让浮动元素水平居中
Aug 07 Javascript
详解javascript实现自定义事件
Jan 19 Javascript
JavaScipt中栈的实现方法
Feb 17 Javascript
bootstrap table插件的分页与checkbox使用详解
Jul 23 Javascript
使用vue-cli编写vue插件的方法
Feb 26 Javascript
JS实现提示效果弹出及延迟隐藏的功能
Aug 26 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 Javascript
vue实现简单数据双向绑定
Apr 28 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
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
Javascript中获取对象的原型对象的方法小结
2015/02/25 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
新版小程序登录授权的方法
2018/12/12 Javascript
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
Jquery 获取相同NAME 或者id删除行操作
2020/08/24 jQuery
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
python获得图片base64编码示例
2014/01/16 Python
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
CSS3 3D旋转rotate效果实例介绍
2016/05/03 HTML / CSS
详解如何将 Canvas 绘制过程转为视频
2021/01/25 HTML / CSS
会计专业自荐信范文
2013/12/02 职场文书
家长给老师的道歉信
2014/01/13 职场文书
我的五年职业生涯规划
2014/01/23 职场文书
婚前协议书范本
2014/04/15 职场文书
促销活动总结模板
2014/07/01 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
祝寿主持词
2015/07/02 职场文书
用python自动生成日历
2021/04/24 Python
mysql优化之query_cache_limit参数说明
2021/07/01 MySQL