整理电脑里面的前端开发中的小Tips【及时更新】

1)img 标签如果src设置为空或者#的时候,会多发一次请求,建议设置为 about:blank 。测试浏览器 ie6,ie7,ie8,chrome17,firefox10

2) try ~catch 中如果使用了setTimeout 的话,会报错的,catch 不到内容的。

3)input radio 如果没有设置 name的属性,在ie下是不能被点击到的,另外 input radio,checkbox 不支持及时的change事件,意思是点击或者选定的时候,没有触发change,而是在鼠标离开的时候才触发的,如果要做到这样的效果,必须使用click要代替

4)在ie<9下如果使用apply的时候,如果没有参数params ,会报错的。fn.apply(acope,params),可以这样来处理fn.apply(acope,params||[])

5) typeof 只能检测基本类型的,是不能检测对象的,如果要检测对象的类型 使用instance of 吧

6)在ie6,和ie7下hr默认有上下14px的边距,同时不能清除,可以采用float的方法清除上边距,采用负margin的办法清除下边距。

7)3个效率的问题:在创建多个html片段的时候,采用documentFragment的方法,它先将dom节点存放到内存中,然后再 将documentFragment  对象添加到dom

对象中,另外一个数组的操作:var arr = [];  arr.push['str']  效率要低于 arr[arr.length] = 'str'的。将函数的引用作为参数传递到setTimeout()和setInterval()里优于将函数名作为字符串参数传递

8)如果先绑定了  beforeunbload的事件后,这个时候在页面内加载iframe了,那么也会触发这个这个事件

9)创建随机数解决缓存的方法 newDate -0  或者Math.random()

10) flash 如果wmode 设置为 window 。意思就是独立窗口播放,不会与html交互,在chrome,ie6下如果不能输入字符一般是没设置成window,另外一般不要设置成其他的形式,会降低性能的。

11) 使用!!可以强制降其他的类型转为bool类型。 

12)setInterval 在ie下不能将延时时间设置为0,如果设置为0,在ie下会仅执行一次操作,可以将他设置成1来解决这个问题。在chrome和firefox下则不会有这个问题。

13)在使用 setTimeout 或者 setInterval 函数的时候,如果第一个参数传入的是字符串,那么将在全局作用域里寻找此函数,而不会在当前作用域中寻找,所以建议第一个参数传入函数,比如:setTimeout( function() { test() }, 2000 ); 

14)"=="  比较两个对象的时候会自动进行类型转换,而 "===" 不进行任何转换, 必须完全相等 ,及类型和值必须等,例如比较 '99' == 99将返回 true; '99' === 99将返回 false。

15)Array.prototype.sort 在在排序的时候,如果两个元素相等,可以采取不稳定的排序,也可以采取稳定的排序,视浏览器不一样而不同,可以实现这个兼容

 Array.prototype.sort(function(a,b){return a-b || -1});

16) 由于focus() 方法可滚动文档以使 Anchor 对象或者表单元素的位置变为可见,因此我们在定位表单或者锚点时不需改变 hash 而通过 focus() 方法来实现。

17)关于a标签的伪类支持情况:IE6及IE7/8怪异模式仅支持A元素的:hover及:active,IE7标准模式支持所有元素的:hover,但:active仍仅支持A元素,除IE8标准模式以外的IE均不支持:focus 。

18)select的使用:设置option元素中的文本时候如果用doc.createElement('option')创建的节点,IE是无法直接设置text来改变文本的。必须通过 option.appendChild(doc.createTextNode(txt));来实现。但是,一旦节点被插入到页面DOM后,就可以直接设置option.text了。另外如果知道值的情况下

如果快速设置选定,可以使用select.value = ""的方式。 

19)a标签的LVHA 规则在i6的标准模式下是不遵循的,但是在ie7,8,9,chrome。firefox的标准模式下是遵循的。

20)flash跨域了,加个crossdomain.xml 文件吧,配上对方的域名。
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值