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 相关文章推荐
JavaScript传递变量: 值传递?引用传递?
Feb 22 Javascript
js中设置元素class的三种方法小结
Aug 28 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 Javascript
node.js中使用q.js实现api的promise化
Sep 17 Javascript
jQuery中复合属性选择器用法实例
Dec 31 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
Feb 17 Javascript
jquery插件validation实现验证身份证号等
Jun 04 Javascript
基于JavaScript代码实现自动生成表格
Jun 15 Javascript
基于JavaScript实现复选框的全选和取消全选
Feb 09 Javascript
详解angularjs利用ui-route异步加载组件
May 21 Javascript
JavaScript实现跟随滚动缓冲运动广告框
Jul 15 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
Sep 20 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 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
async和DOM Script文件加载比较
2014/07/20 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
php简单生成随机数的方法
2015/07/30 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
JavaScript 事件的一些重要说明
2009/10/25 Javascript
突发奇想的一个jquery插件
2010/11/19 Javascript
JS模拟面向对象全解(二、类型与赋值)
2011/07/13 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
js的2种继承方式详解
2014/03/04 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
Vue组件简易模拟实现购物车
2020/12/21 Vue.js
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python map和reduce函数用法示例
2015/02/26 Python
python用来获得图片exif信息的库实例分析
2015/03/16 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Python模块搜索路径代码详解
2018/01/29 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
杜甫草堂导游词
2015/02/03 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server