Welcome 微信登录

首页 / 脚本样式 / JavaScript

推荐一个封装好的getElementsByClassName方法

推荐一个封装好的getElementsByClassName方法

我们知道,原生的JS给我们提供了getElementsByClassName方法,可以通过此方法获取到含有某指定class的节点集合,注意是集合,也就是此函数返回一个数组。但是,IE却并不支持这个方法,但这方法却是很有实用性,所以,我们又不得不专门为IE实现这么一个函数。复制代码 代码如下:function getElementsByClassName(oEle,sClass,sEle){ if(oEle.getElementsByClassName){ ...
javascript框架设计读书笔记之种子模块

javascript框架设计读书笔记之种子模块

1.命名空间: js里面的命名空间就是使用对象的属性来扩展的。比如,用户定义一个A对象,A对象下面有B属性和C属性,同时B属性和C属性又是对象。因此A={B:{},C:{}},这时用户就可以在B对象和C对象中定义一样的方法,属性了。因此B和C就属于不同的命名空间。我们调用B,C对象里面的方法,就可以通过A.B.like(),A.C.like()调用了。当然A属于window对象中的属性。 但是有一种情况,比如:boke.jsp页面引入了jquery.j...
JS逆序遍历实现代码

JS逆序遍历实现代码

最常用的遍历方式为for语句(也有递归、while方式)。当我们遍历一个数组的时候,我们一般会这么做:复制代码 代码如下:var arr = [1,2,3,4,5,6,7,8,9,10];for(var i=0,total=arr.length;i<total;i++){ console.log(i,arr[i]);}这就是最常用的遍历方式:正序遍历。它从数组的第一项依次走到最后一项。那为什么今天小剧还会提到逆序遍历呢?这里不得不提下小剧写的组件里最...
jquery中获取元素里某一特定子元素的代码

jquery中获取元素里某一特定子元素的代码

之前做的一些JQUERY应用都是些很基础的编程,对于选择器要求不高,像类似于“$(".class")”、“$("#id")”、“$("#id>.class")”、“$(this)”、“$(this).parent()”、“$(this).children()”这些简单的语句都能解决的。问题的出现是我要选择一个ul里某个的li中的一个span,因为要利于编程,li是用 $("ul>li").eq(i) 来做的选择,虽然问题还是能用之前的方法解决,...
使用正则表达式的格式化与高亮显示json字符串

使用正则表达式的格式化与高亮显示json字符串

json字符串很有用,有时候一些后台接口返回的信息是字符串格式的,可读性很差,这个时候要是有个可以格式化并高亮显示json串的方法那就好多了,下面看看一个正则表达式完成的json字符串的格式化与高亮显示首先是对输入进行转换,如果是对象则转化为规范的json字符串,不是对象时,先将字符串转化为对象(防止不规范的字符串),然后再次转化为json串。其中json为输入。复制代码 代码如下:if (typeof json !== "string") { json ...
node.js下when.js 的异步编程实践

node.js下when.js 的异步编程实践

假设一个业务场景:通过rss地址,获取rss并保存于文件,rss地址保存于文件中。完成该场景的业务需要完成3个任务:1.从文件中读取rss地址。2.获取rss。3.保存于文件。最后将这三个任务进行整合。准备:存放rss地址的文件,address.txt。http://programmer.csdn.net/rss_programmer.html任务1:读取rss地址文件的内容并通过callback返回。复制代码 代码如下:var getRssAddress...
Javascript堆排序算法详解

Javascript堆排序算法详解

堆排序分为两个过程:1.建堆。堆实质上是完全二叉树,必须满足:树中任一非叶子结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。堆分为:大根堆和小根堆,升序排序采用大根堆,降序排序采用小根堆。如果是大根堆,则通过调整函数将值最大的节点调整至堆根。2.将堆根保存于尾部,并对剩余序列调用调整函数,调整完成后,再将最大跟保存于尾部-1(-1,-2,...,-i),再对剩余序列进行调整,反复进行该过程,直至排序完成。复制代码 代码如下://调整函数f...
Javascript冒泡排序算法详解

Javascript冒泡排序算法详解

比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。复制代码 代码如下:function sort(elements){ for(var i=0;i<elements.length-1;i++){ for(var j=0;j<elem...
Javascript快速排序算法详解

Javascript快速排序算法详解

快速排序是对冒泡排序的一种改进。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,最终达到整个数据变成有序序列。假设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为基准数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的...
javascript中clone对象详解

javascript中clone对象详解

开发中,打断对象间的引用关系,只想下个副本的情况无处不在,clone一个对象就在所难免了。 JavaScript中,简单的方法就是用JSON函数,将对象stringify成字符串,再parse成一个新对象。要么就是从网上搜个代码,开源社区里面clone的代码还是有不少的。 代码虽然可以找得到,但,东西永远是别人的,动手学着码永远是个不变的主题。 自己写了两个克隆的函数: cloneOwn:克隆自定义对象的自有属性,不包括继承的属性,属性可以是基本数据类型...
<< 941 942 943 944 945 946 947 948 949 950 >>