Welcome 微信登录

首页 / 脚本样式 / JavaScript

在JavaScript里嵌入大量字符串常量的实现方法

在JavaScript里嵌入大量字符串常量的实现方法

数量少还好,多的话就密密麻麻的一坨文字,讲究美观的文艺青年们,会用大量的字符连接符号甚至加上缩进,强制换成好几行。例如:复制代码 代码如下:var html = "<div>" + "<p>Hello</p>" + "<p>World"</p>" + "</div>";这还好,要是字符串里有不少双引号单引号,那就更麻烦了,各种转义字符看的眼花缭乱。 其实有个不怎么起眼的小技巧,就能解...
20行代码实现的一个CSS覆盖率测试脚本

20行代码实现的一个CSS覆盖率测试脚本

document.styleSheets里保存了当前页面上所有CSS规则的集合。通过它可以遍历出页面<style>里定义的所有selector,访问selectorText属性可得选择器的匹配规则。然后将规则规则传递给 document.querySelectorAll 即可获取页面内匹配此规则的元素列表。这里我们只求CSS规则的覆盖率,所以访问 querySelectorAll().length 即可。通过排序就可看出各个CSS使用情况。代码...
JavaScript 上万关键字瞬间匹配实现代码

JavaScript 上万关键字瞬间匹配实现代码

提到关键字搜索,首先联想到的无非就是使用一些indexOf,replace之类的字符函数,最多加上一些正则表达式而已.实现起来虽然很简单,但是这背后的效率问题可曾仔细考虑过?例如论坛中的关键字过滤,一般情况下需过滤的关键字数量及检测的文本长度都不大,所以这一瞬间的过程没有太多值得关注的地方。但若关键字数量不在是屈指可数,而是有成千上万, 并且待检测的文本也是一长篇大论,结果可不再是那么乐观了。大家都知道,每多一个关键字,就要增加一次全文的检索,最终花费的时...
从数据结构的角度分析 for each in 比 for in 快的多

从数据结构的角度分析 for each in 比 for in 快的多

之前听说火狐的JS引擎支持for each in的语法,例如下述的代码:复制代码 代码如下:var arr = [10,20,30,40,50];for each(var k in arr)console.log(k); 即可直接遍历出arr数组的内容。 由于只有FireFox才支持,所以几乎所有的JS代码都不用这一特征。 不过在ActionScript里天生就支持for each的语法,不论Array还是Vector,还是Dictionary,只要...
解析使用JS 清空File控件的路径值

解析使用JS 清空File控件的路径值

1.关于如何用脚本修改fileupload控件值的问题,开发环境vs2005,在上传文件时,需要一个取消的按钮来清空type=file的value,而且这个页面上有多个file控件这个比较麻烦因为file的值本身是不允许用脚本修改的(安全角度考虑)方法1).使用脚本把这个file的input移动到一个form中,然后调用reset,如果有多个这样的input当然还要再移出来.这个方法我不会采用,因为对.net开发者来讲习惯了一个页面就一个form所有控件都...
浅析document.createDocumentFragment()与js效率

浅析document.createDocumentFragment()与js效率

document.createDocumentFragment()说白了就是为了节约使用DOM。每次JavaScript对DOM的操作都会改变页面的变现,并重新刷新整个页面,从而消耗了大量的时间。为解决这个问题,可以创建一个文档碎片,把所有的新节点附加其上,然后把文档碎片的内容一次性添加到document中。这是我写的一个简单的测试页面:复制代码 代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr...
<< 661 662 663 664 665 666 667 668 669 670 >>