js
weizuqing
这个作者很懒,什么都没留下…
展开
-
cookie的使用
cookie概述在上一节,曾经利用一个不变的框架来存储购物栏数据,而商品显示页面是不断变化的,尽管这样能达到一个模拟全局变量的功能,但并不严谨。例如在导航框架页面内右击,单击快捷菜单中的【刷新】命令,则所有的JavaScript变量都会丢失。因此,要实现严格的跨页面全局变量,这种方式是不行的,JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求。cookie是浏览...原创 2009-10-08 13:36:10 · 68 阅读 · 0 评论 -
为什么尽量用局部变量代替全局变
在如何提高JavaScript性能这个问题上,大家最常听到的建议应该就是尽量使用局部变量(local variables)来代替全局变量(global variables)。在我从事Web开发工作的九年时间里,这条建议始终萦绕在我的耳边,并且从来没有质疑过,而这条建议的基础,则来自于 JavaScript处理作用域(scoping)和标识符解析(identifier resolution)的方法。...原创 2010-01-06 16:48:06 · 266 阅读 · 0 评论 -
javascript中的location.reload() 和 location.replace()的区别和应用
首先介绍两个方法的语法:reload 方法,该方法强迫浏览器刷新当前页面。语法: location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页;若为 true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新") 。replace 方法,该方法通过指定URL...原创 2010-01-06 17:42:39 · 74 阅读 · 0 评论 -
Javascript去掉字符串前后空格
给string类型添加方法String.prototype.trim = function(){ // 用正则表达式将前后空格,用空字符串替代。 return this.replace(/(^\s*)|(\s*$)/g, "");}用法:var str = " this is a string ";var str2 = ...原创 2010-01-07 10:20:06 · 111 阅读 · 0 评论 -
YUI
http://www.cnblogs.com/Mainz/archive/2009/04/10/1432990.html-->yuihttp://dengm1010.iteye.com/blog/3685672009-07-18 09:31:45 · 114 阅读 · 0 评论 -
执行效率3
1.优化CSSCSS叠层样式表让网页加载起来更高效,浏览体验也得到提高。有了CSS,表格布局的方式可以退休了。但有时我们在写CSS的时候会使用了一些比较罗嗦的语句,比如这句: margin-top: 10px; margin-right: 20px; margin-bottom: 10px; margin-left: 20px;...原创 2009-07-20 14:29:49 · 84 阅读 · 0 评论 -
js的nextSibling
nextSilbling 属性的作用是:直接返回一个节点之后的节点(其后的节点与当前节点同属一个级别)。如果不包含这类节点,那么属性将返回null[空值]。IE将跳过在节点之间产生的空格文档节点(如:换行字符),而Mozilla不会这样。知道了吧,FF会把诸如空格换行之类的排版元素视作节点读取,faint~··· 发现FF BT的地放还有对event的处理~···相当麻烦~···nextSibli...原创 2010-01-13 11:28:47 · 385 阅读 · 0 评论 -
JavaScript程序编码规范
JavaScript文件JavaScript程序应独立保存在后缀名为.js的文件中。JavaScript代码不应该被包含在HTML文件中,除非这是段特定只属于此部分的代码。在HTML中的JavaScript代码会明显增加文件大小,而且也不能对其进行缓存和压缩。应尽量放到body的后面。这样可以减少因为载入script而造成其他页面内容载入也被延迟的问题。也没有必要使用lan...原创 2010-01-20 15:27:22 · 72 阅读 · 0 评论 -
JS判断脚本是否加载完成
1.function include_js(file) {2. var _doc = document.getElementsByTagName('head')[0];3. var js = document.createElement('script');4. js.setAttribute('type', 'text/javascript');5. js...原创 2010-01-21 11:29:36 · 229 阅读 · 0 评论 -
连续字符自动换行的解决方案
[url]http://dancewithnet.com/2008/12/04/word-break-all/[/url]原创 2010-01-21 11:58:33 · 254 阅读 · 0 评论 -
JavaScript的陷阱
[color=darkblue]区分大小写[/color]变量名和函数名都是区分大小写的。就像配错的引号一样,这些大家都知道。但是,由于错误是不作声的,所以这是一个提醒。为自己选择一个命名规则,并坚持它。而且,记住JavaScript中的原生函数和CSS属性都是骆驼拼写法(camelCase)。getElementById(’myId’) != getElementByID(’my...原创 2010-01-22 13:38:01 · 67 阅读 · 0 评论 -
HTML文档中小meta的大作用
meta 是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的与中,meta 标签的用处很多。meta 的属性有两种:name和http-equiv。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的...原创 2010-01-25 10:37:29 · 99 阅读 · 0 评论 -
ie6下使用js替换img标签src属性图片不显示的错误
首先,我必须再次强调一下,F-U-C-K I-E!其次,简单阐述一下这个bug的出现的情况。页面中有个这么一个a标签,swapImgSrc这个方法就是替换页面上一个img标签的src属性,以达到动态切换图片路径的效果。但是,但是,在IE6这个浏览器下图片就不会显示,用鼠标右键点击图片应该在的位置选择“显示图片”才能看到图片内容。使用httpwatch等神器可以发现新图片的加载被aborte...原创 2009-08-26 16:42:41 · 352 阅读 · 0 评论 -
js中的preventDefault和stopPropagation
首先讲解一下js中preventDefault和stopPropagation两个方法的区别: preventDefault方法的起什么作用呢?我们知道比如百度,这是html中最基础的东西,起的作用就是点击百度链接到http://www.baidu.com,这是属于标签的默认行为,而preventDefault方法就是可以阻止它的默认行为的发生而发生其他的事情。看一段代码大家就...原创 2011-01-07 13:57:40 · 230 阅读 · 0 评论 -
javascrip编码(escape(), encodeURL(), encodeURIComponent())
escape() 方法:采用ISO-Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。不会被此方法编码的字符: @ * / +encodeURI() 方法:把URI字符串[b]采用UTF-8编码格式转化成...原创 2010-10-27 10:04:54 · 88 阅读 · 0 评论 -
offsetParent,parentNode,parentElement区别
offsetParent 指与位置有关的上级元素 parentNode 指与位置无关的上级元素 parentElement 和 parentNode是一样,但parentNode是W3C标准但parentElement 只在IE中可用.例如: 这个例子中,“cc”元素的offsetParent是div,如果去掉div的...原创 2011-03-22 15:09:25 · 222 阅读 · 0 评论 -
正则表达式
正则表达式可以:•测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证•替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字•根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字 正则表达式语法一个正则表达式就是由普通字符...原创 2011-03-26 09:00:19 · 142 阅读 · 0 评论 -
javascript中substring()方法与substr()方法的区别
1 这两个方法都是String对象的方法2 substr(start,length):返回一个从指定位置开始的指定长度的子字符串; substring(start,end):返回位于String 对象中指定位置的子字符串,子字符串中包括start位置的字符,不包括end位置上的字符!3 substring方法使用 start 和 end 两者中的较小值作为子字符串的起...原创 2010-01-06 16:45:50 · 87 阅读 · 0 评论 -
执行效率2
1. 合并脚本文件包括脚本,样式和图片,可以有选择的把一些Js和css可以合并成一个文件,一些图片可以使用css sprites技术.这样做的原因是什么?做过web开发的人都知道,js和css基本是不变的,是静态文件,图片亦然.那么不变的文件如果适当的合并在一起,会有什么效果呢?请求的次数从多次变成了一次.这样http请求的次数就减少了.当时合并之后,文件体积变大了,会影响速度吗?答:肯定会啊...原创 2009-07-17 17:29:57 · 70 阅读 · 0 评论 -
javascript中String Concat和StringBuilder类的性能比较
测试脚本如下代码:Code 1 2 3 4 JavaScript StringBuilder 5 6 7 56 57 58 59 60 61 62 63 ...原创 2009-07-01 10:52:21 · 112 阅读 · 0 评论 -
IE与Firefox处理Attribute的几点差异
前端开发中,经常需要动态的添加、移除或者获取元素的Attribute。也就是说经常会用到setAttribute、removeAttribute和getAttribute。今天要讨论的是开发中遇到的几处IE与Firefox对Attribute操作的差异。属性名大小写在Firefox中,属性没有小写的概念,就算属性名全用大写,Firefox也会解析成小写,用Firebug看就...原创 2009-10-14 08:48:04 · 105 阅读 · 0 评论 -
大附件上传
demo的地址:http://demo.swfupload.org/v220/index.htm官方的地址:http://www.swfupload.org2009-10-23 09:41:33 · 68 阅读 · 0 评论 -
location.href不跳转的解决办法
js代码:function back(){ location.href = "http://www.baidu.com";}html代码:在ie6中(无法连接到百度)(可以)(可以)2009-11-03 11:47:47 · 257 阅读 · 0 评论 -
form.elements.length的一个bug
form.elements.length 如果长度为1时 返回的是undefined 只有大于1时才能返回正确的值自己写的一段代码:(当长度为1时,会报错)function getCheckedCount(control) { var count = 0; if (control) { for (var i=0; i...2009-11-05 10:34:18 · 268 阅读 · 0 评论 -
js ==和===
js中如果你只是想单纯的比较值的话,==就可以了 ===是类型和值一起比较 === 如果两个值的类型不同,则不同如果两个值是number并且值相同,除非等于NaN,则相同。如果两个值是strings并且值相同,则相同。注意string是每个字节进行比较,如果编码不同需要用String.localeCompare()。如果两个值是boolean并且值相同,则相同...原创 2009-11-11 15:39:29 · 70 阅读 · 0 评论 -
concat
function ConcatArrayDemo(){ var a, b, c, d; a = new Array(1,2,3); b = "JScript"; c = new Array(42, "VBScript"); d = a.concat(); alert(d.join(""));//123 d.push("ff"); alert(a.jo...2009-11-21 09:24:27 · 100 阅读 · 0 评论 -
根据附件的后缀名来显示相应的图标
var obj = {};obj["dir"] = "folder"obj["css"] = obj["txt"] = obj["js"] = "text";obj["html"] = obj["htm"] = obj["shtml"] = obj["hta"] = "ie";2009-11-24 15:48:00 · 1324 阅读 · 0 评论 -
全角转半角
function toTrimDBC(Str) { var DBCStr = ""; for(var i=0; i 65280 && c < 65375) { DBCStr += String.fromCharCode(c - 65248); continue; } DBCStr += String.fro...原创 2009-11-24 15:50:23 · 81 阅读 · 0 评论 -
iframe自适应高度和宽度
兼容ff和iefunction setHtmlContent(isIE){ if(document.getElementById("iframeContent").readyState != 'complete' && isIE){ setTimeout("setHtmlContent();",30); return ; ...2009-11-24 16:55:54 · 137 阅读 · 0 评论 -
js中 break和 continue区别
例子: var i=0 for (i=0;i2009-11-25 11:46:09 · 77 阅读 · 0 评论 -
异步加载组织结构树以及操作
//=====================================tree.js 移到writemail.js begin================= var fdorgCache = [];//组织结构缓存对象//获得公司组织结构数据function doLoadTreeNode(pid) { //从缓存数据中获取数据 if(fdor...2009-11-25 11:53:00 · 300 阅读 · 0 评论 -
ajax的原理和运行机制
关于ajax,是最近炒得非常火的一种技术,并且时下它也是非常流行。当然,它并不是什么新技术,而是在各种已有的技术和支持机制下的一个统一。在我的项目中,偶尔也会用到ajax,用来给用户一些无刷新的体验。用过几次之后,我个人决定对它的原理和运行机制做一个总结。 ajax这个名字据说是Asynchronous JavaScript + XML的简写,实际上,它由下列几种技术组合而成。 ...2010-03-12 17:36:04 · 65 阅读 · 0 评论 -
splice() 方法
splice() 方法用于插入、删除或替换数组的元素。语法arrayObject.splice(index,howmany,element1,.....,elementX)参数 描述index 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。howmany 必需。规定应该删除多少元素。必须是数字,但可以...2010-03-15 10:56:20 · 116 阅读 · 0 评论 -
当嵌套iframe时,提供了一个统一的访问超时退出的UI界面
Js代码:(来自Javaeye中的一段代码)function getRootWin(){ var win = window; while (win != win.parent){ win = win.parent; } return win; } 通过该方法,可以在一个任意深度的iframe...2009-12-16 09:04:46 · 302 阅读 · 0 评论 -
关于IE和火狐下JS加载循序的问题
FF是按照循序加载的,而IE却不是的,也就是说FF是同步加载,而IE确实异步的,而且IE有个问题,就是a.js和b.js这两个引用的JS文件,如果a.js在b.js前面,而a.js又比b.js文件大,那么有时候会出现先加载b.js的问题~~~~~。IE,这个比较恶心~~~~这个在IE官网上都是有描述的。。。。...原创 2009-12-16 10:42:36 · 160 阅读 · 0 评论 -
执行效率
1. DOM1.1 使用DocumentFragment优化多次append说明:添加多个dom元素时,先将元素append到DocumentFragment中,最后统一将DocumentFragment添加到页面。该做法可以减少页面渲染dom元素的次数。经IE和Fx下测试,在append1000个元素时,效率能提高10%-30%,Fx下提升较为明显。服用前:for (va...原创 2009-06-30 13:44:23 · 222 阅读 · 0 评论 -
LABjs、RequireJS、SeaJS 哪个最好用?为什么?
LABjs 的核心是 LAB(Loading and Blocking):Loading 指异步并行加载,Blocking 是指同步等待执行。LABjs 通过优雅的语法(script 和 wait)实现了这两大特性,核心价值是性能优化。LABjs 是一个文件加载器。RequireJS 和 SeaJS 则是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开...原创 2013-10-28 16:36:37 · 134 阅读 · 0 评论