JavaScript常用的一些小技巧

转自: http://www.nowamagic.net/javascript/js_SomeJavascriptSkills.php
特性检测而非浏览器检测

因为某某特性某浏览器不支持,我们经常的做法是在代码中直接先做浏览器判断如:

1 if(Broswer.isFirfox){
2     //do something
3 }

其实这样做是不科学的,因为很可以其它浏览器上可以支持你要用的特性,所以,比较好的做法为是直接做特性判断。如:

1 if(window.localStorage){
2     //使用本地存储功能
3 }
使用方括号来访问属性或方法

这一点到不是强制的,只不过如果使用方括号来访问可以享受一些动态特性带来的好处,而且命名方面有少了许多限制。如:

1 for(var i=0;i<9;i++){
2     obj["method"+i]();
3 }
表单的那些事

这里主要提两个很有用的属性,可以让你操作表单方便不少。

  1. form有一个elements属性。作用呢就是可以得到一个表单下的所有表单元素,这样在批量处理表单元素时就很有用,如:表单元素的序列化,或者验证之类的很有帮助。
  2. 对于第一个表单元素也有一个类似属性为form.这样可以很轻松得到一个表单元素属于哪个表单。
a元素onclick的那些事
1 <a href="cool.html" onclick "doSomething()">做点什么吧</a>

点击这样一个链接时会有两种情况发生,1、如果dosomthing返回true,那么浏览器就会发生跳转到cool.html,相返如果返回false的话,就会忽略href。因此借住这个特性,我们可以写这样的代码。

1 function doSomething(){
2     return confirm("您确认要离开吗");
3 }

有没有发现比起下面这样的代码爽了很多。

1 function doSomething(){
2     var ret = confirm("确认要离开吗?");
3     if(ret){
4         window.loaction.href = "cool.html";
5     }
6 }
类型转换时不一样的做法

怎样把字符串转换成数字呢?我知道parseInt("123",10),除此之外还有什么好办法没,看下面的。

1 var num1 = "123";
2 num1 = num1*1;
3 var num2 = "123";
4 num2 = +num2;

这两种方法是不是很不错。还是很简洁吧。祝学习愉快!

1 var a = 1;
2 a = !!a;

那转换为bool类型有没有什么好办法呢?有啊!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值