zoukankan      html  css  js  c++  java
  • 分享一些JavaScript简易小技巧

    特性检测而非浏览器检测

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

    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;
  • 相关阅读:
    ffmpeg解码视频存为BMP文件
    iphoneOS与Windwos下RTSP服务器与客户端的搭建
    RTSP协议介绍
    还原数据库
    .NET导入Excel数据
    jquery对表单元素操作
    Jquery操作select
    The process cannot access the file '' because it is being used by another process.....
    aspnet_merge.exe”已退出,代码为1的错误
    vs2008运行正常(可以访问数据库),而iis不能正常访问数据库
  • 原文地址:https://www.cnblogs.com/xiaoyang002/p/4069267.html
Copyright © 2011-2022 走看看