javascript学习(一)构建自己的JS库
库是一个饱受争议的热门话题。一种观点认为它是一种非常棒的工具,是任何开发者都不可或缺的;另一种观点则认为在不理解库的内部工作原理的情况下对库形成依赖,会助长懒惰的风气从而导致开发者素质下降
库是一个饱受争议的热门话题。一种观点认为它是一种非常棒的工具,是任何开发者都不可或缺的;另一种观点则认为在不理解库的内部工作原理的情况下对库形成依赖,会助长懒惰的风气从而导致开发者素质下降。但是不管怎么样,好像每个人都赞同编写自己的库,况且把自己日常用到的东西合并到一起本身就是一件有意义的事情。
下面我们开始建立自己的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学习(一)构建自己的JS库的更多相关文章
- 构建自己的js库
一.背景 web前端开发人员经常会用到一些现成的js库(框架).框架的使用增加了代码的模块化和可复用性,最主要的是屏蔽了浏览器之间差异性的实现,使得代码更加简洁,框架使用者只需要将注意力放在业务的实现 ...
- JavaScript学习总结(9)——JS常用函数(一)
本文中,收集了一些比较常用的Javascript函数,希望对学习JS的朋友们有所帮助. 1. 字符串长度截取 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...
- JavaScript学习总结(十九)——使用js加载器动态加载外部Javascript文件
今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js 1 var MiniSite=new Object(); 2 /** 3 * 判断浏览器 4 */ 5 M ...
- JavaScript学习笔记(一)——JS速览
第一章 JS速览 1 限制时间处理事件 <script> setTomeout(wakeUpUser,5000); function wakeUpUser() { alert(" ...
- JavaScript学习总结(8)——JS实用技巧总结
后退 前进 <!--<input type="button" value="后退" onClick="history.go(-1)&quo ...
- JavaScript学习总结(6)——js弹出框、对话框、提示框、弹窗总结
一.JS的三种最常见的对话框 [javascript] view plaincopy //====================== JS最常用三种弹出对话框 =================== ...
- javascript:console.log()是什么js库里的?
这个不是什么库的,这个是浏览器的函数,如果你使用firefox并且装有firebug插件,当使用console.log(……)时,会把括号内的字符串输出到控制台,当然,在IE中这个是没有的,要报错.相 ...
- JavaScript学习总结(11)——JS常用函数(二)
37. getElementsByClassName ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 function getElementsByClassName( ...
- JavaScript学习--8.1
JavaScript学习--8.1(常见的js代码兼容工具总结) 1.取css样式表和非行间样式的属性 function getStyle(obj,attr){ if(obj.currentStyle ...
随机推荐
- Objc将数据写入iOS真机的plist文件中
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 如何写入模拟器的博文在 这里 但是这对真机不管用,因为在真机环 ...
- Android的TabHost组件-android的学习之旅(四十)
TabHost简介 虽然,官方建议用Fagment取代TabHost,但是我们还是大概的介绍一下.TabHost是一种非常简单的组件,TabHost可以很方便的在窗口放置多个标签页,每一个标签页相当于 ...
- hadoop cdh5的pig隐式转化(int到betyarray)不行了
cdh3上,pig支持int到chararray的隐式转化,但到cdh5不行. pig code is as follows: %default Cleaned_Log /user/usergroup ...
- Dynamics CRM2013 ScLib::AccessCheckEx failed
今天在系统中做某一操作的时候报如下截图错误,把错误日志下载下来,根据AccessRights这:ReadAccess一提示确定是对某一实体没有读的权限. 那怎样知道是哪个实体呢,再看上面错误日志中给出 ...
- Scipy教程 - 统计函数库scipy.stats
http://blog.csdn.net/pipisorry/article/details/49515215 统计函数Statistical functions(scipy.stats) Pytho ...
- JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习
JAVA之旅(二十)-HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习 我们继续说一下集合框架 Set:元素是无序(存入和取出的顺序不一定 ...
- android开发技巧——仿新版QQ锁屏下弹窗
新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做的项目也需要这一功能.经过各种试验和资料查找,终于实现,过程不难,但是却有一些地方需要注意. 下面是实现过程. 1.使用Activity,而不是V ...
- shell脚本整段注释
摘自:http://zhidao.baidu.com/link?url=XmCCZmfluRe6n8TjPRKJTx4GGOUPSGX1VNBm-euqGdpKGpveTESxC0HL90UBNT5n ...
- H5学习之旅-H5列表(8)
列表的基本语法 ol:有序列表 ul:无序列表 li:列表项 dl:列表 dt:列表项 dd:列表描述 常用列表 1.无序列表:使用标签 ul,li 属性:disc(默认实心圆) circle (空心 ...
- Mac下ImageMagick安装(libpng)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/42562705 ...