Welcome 微信登录

首页 / 脚本样式 / JavaScript

jQuery 操作option的实现代码

jQuery 操作option的实现代码

js清空option之前清空option ,我的做法是遍历现有option,将其每个子元素都置空即可。现在使用jQuery来实现,我们只需要调用其支持的empty方法即可。 empty() 删除匹配的元素集合中所有的子节点。 再加上,我们要设默认值,所以此处清空select下所有option的方法,使用下面语句即可: 复制代码 代码如下: $("#selectId").empty().append( $("<option>这里放默认值</...
如何确保JavaScript的执行顺序 之实战篇

如何确保JavaScript的执行顺序 之实战篇

1. 引言 我曾在文章《如何在多个页面使用同一个HTML片段 - 续》的最后提到JavaScript顺序执行的特性。虽然现代浏览器可以并行的下载JavaScript(部分浏览器),但考虑到JavaScript的依赖关系,他们的执行依然是按照引入顺序进行的。 为了更好的测试这个过程,我写了一个简单的HTTP处理程序页面 service.ashx,它可以接受两个参数: 1. file,需要返回文件的服务器端路径。 2. delay,延迟一定时间后再返回本次HT...
在多个页面使用同一个HTML片段的代码

在多个页面使用同一个HTML片段的代码

问题描述 有一个比较复杂的HTML片段(A),如果把这个HTML片段嵌入到其他页面中(B,C,D....)。 问题的关键是在HTML片段中有大量的JavaScript逻辑需要处理,比如说分页,点击事件响应等。 对于这个问题,我们用一个简单的例子来说明: “页面上有一个按钮,点击此按钮引入一个HTML片段,此HTML片段中有分页按钮。” 1. 使用IFrame 主页面,点击一个按钮向页面引入一个IFrame: 复制代码 代码如下: <script ty...
判断用户的在线状态 onbeforeunload事件

判断用户的在线状态 onbeforeunload事件

获得用户登陆状态不用说了,判断离开的话就有一点问题了,如果说用户都是按照设计者的规定触发退出事件离开的话那就没什么难度了,但是用户的离开方式多种多样,怎么在用户非法离开的时候即时的判断离开呢?最常见的非法离开就是关闭浏览器了。 复制代码 代码如下: <BODY onbeforeunload="body_onUnload()"> <script> window.onbeforeunload = function() { if (win...
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)

js定义对象或数组直接量时各浏览器对多余逗号的处理(json)

1、js引擎在代码载入时进行语法分析,如果js写的不规范则语法分析通不过。这时候的错误称为语法错误 2、语法分析通过了,js引擎会执行代码。执行期间发生的错误称为运行错误 不同引擎处理这2种错误的提示不太一样。如下: 复制代码 代码如下: var p = {name:"Jack",age:33,};//注意33后有个逗号 p.toString = function() {return "姓名:" +this.name + ",年龄:" + this.age...
Array的push与unshift方法性能比较分析

Array的push与unshift方法性能比较分析

从原理就可以知道,unshift的效率是较低的。原因是,它每添加一个元素,都要把现有元素往下移一个位置。但到底效率差异有多大呢?下面来测试一下。 测试环境的主要硬件:CPU T7100(1.8G);内存4G DDR2 667;硬盘5400转。主要软件:操作系统为Windows 7;浏览器为Firefox 3.6.9。测试代码: 复制代码 代码如下: var arr = [ ], s = +new Date; // push性能测试 for (var i =...
再论Javascript下字符串连接的性能

再论Javascript下字符串连接的性能

1 如何进行字符串连接? 首先让我们来回顾一下字符串连接的两种常用方法: 1.1 使用字符串连接运算符 常用的语言(如Java、C#、PHP等)都有字符串连接运算符,Javascript也不例外,代码示例: 复制代码 代码如下: var str = ""; str = str + "a"; 1.2 使用数组 在常用的语言中,字符串连接运算的性能普遍不高,为此在C#中就专门提供了StringBuilder(Java中提供了StringBuffer)用于连接...
js parseInt的陷阱分析小结

js parseInt的陷阱分析小结

复制代码 代码如下: var a = parseInt("09"), b = Number("09"); 很多人会认为a和b的值都是数字9,但实际上不是。 parseInt的主要作用是把字符串转换为整数,或者把小数转换为整数。一般情况下,我们只用到它的第一个参数。但实际上,它有两个参数: parseInt(string, radix) parseInt会根据radix指定的进制进行转换,比如: 复制代码 代码如下: alert(parseInt("10"...
js 优化次数过多的循环 考虑到性能问题

js 优化次数过多的循环 考虑到性能问题

假设要生成一千万个随机数,常规的做法如下: 复制代码 代码如下: var numbers = []; for (var i = 0; i < 10000000; i++) { numbers.push(Math.random()); } 然而,在IE下执行这段代码时,却弹出了一个窗口提示用户是否停止这段脚本。出现这种情况,首先想到的是优化循环体。但明显地,循环体很简单,没什么优化的余地。即使把循环体清空,提示仍然存在。于是,我得出了一个结论:在...
js中将具有数字属性名的对象转换为数组

js中将具有数字属性名的对象转换为数组

虽然不太常用,但我们的确可以给对象添加以数字为属性名的属性: 复制代码 代码如下: var obj = {}; obj[0] = 1; obj[1] = 2; 这个对象并不是数组类型,那有没有办法把它转换为数组类型呢?jQuery代码中采用了Array.prototype.slice把这种对象转换为数组,但我试了好几遍,就是不行: 复制代码 代码如下: var obj = {}; obj[0] = 1; obj[1] = 2; alert(Array.p...
<< 491 492 493 494 495 496 497 498 499 500 >>