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 相关文章推荐
mouse_on_title.js
Aug 25 Javascript
javascript void(0)的妙用
Oct 21 Javascript
js 第二代身份证号码的验证机制代码
May 12 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
Aug 22 Javascript
Node.js Streams文件读写操作详解
Jul 04 Javascript
JS生成和下载二维码的代码
Dec 07 Javascript
js实现定时进度条完成后切换图片
Jan 04 Javascript
使用jQuery,Angular实现登录界面验证码详解
Apr 27 jQuery
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
Nov 29 Javascript
vue自定义指令之面板拖拽的实现
Apr 14 Javascript
layui的数据表格+springmvc实现搜索功能的例子
Sep 28 Javascript
js实现简易点击切换显示或隐藏
Nov 29 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
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
有关php运算符的知识大全
2011/11/03 PHP
php中使用gd库实现远程图片下载实例
2015/05/12 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
javascript常用功能汇总
2015/07/05 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
Python检测QQ在线状态的方法
2015/05/09 Python
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
python递归函数绘制分形树的方法
2018/06/22 Python
python使用Matplotlib画饼图
2018/09/25 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
python读取ini配置的类封装代码实例
2020/01/08 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
在什么时候需要使用"常引用"
2015/12/31 面试题
校园创业策划书
2014/01/14 职场文书
2014年3.15团委活动总结
2014/03/16 职场文书
第二课堂活动总结
2014/05/07 职场文书
空气的环保标语
2014/06/12 职场文书
教师暑期培训感言
2014/08/15 职场文书
银行实习推荐信
2015/03/27 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server