zoukankan      html  css  js  c++  java
  • 如何书写高质量的jQuery代码

      想必大家对于jQuery这个最流行的javascript类库都不陌生,而且只要是前端开发人员肯定或多或少的使用或者接触过,在今天的这篇文章中,我们将介绍一些书写高质量jQuery代码的原则,我们不单单会告诉你如何去书写,也会告诉你为什么这样书写,希望大家会觉得有所帮助。

      注意定义jQuery变量的时候添加var关键字

      这个不仅仅是jQuery,所有javascript开发过程中,都需要注意,请一定不要定义成如下:

    1
    $loading = $('#loading'); //这个是全局定义,不知道哪里位置倒霉引用了相同的变量名,就会郁闷至死的

      如果你定义成这样的话,运气好,可能没有任何问题,或者出现一个绝对会让你debug一周,然后骂娘一个月的问题。

      请使用一个var来定义变量

      如果你使用多个变量的话,请如下方式定义:

    1
    2
    3
    var page = 0,
      $loading = $('#loading'),
      $body = $('body');

      不要给每一个变量都添加一个var关键字,除非你有严重的强迫症

      定义jQuery变量

      申明或者定义变量的时候,请记住如果你定义的是jQuery的变量,请添加一个$符号到变量前,如下:

    1
    var $loading = $('#loading');

      这里定义成这样的好处在于,你可以有效的提示自己或者其它阅读你代码的用户,这是一个jQuery的变量。

      DOM操作请务必记住缓存(cache)

      在jQuery代码开发中,我们常常需要操作DOM,DOM操作是非常消耗资源的一个过程,而往往很多人都喜欢这样使用jQuery:

    1
    2
    $('#loading').html('完毕');
    $('#loading').fadeOut();

      代码没有任何问题,你也可以正常运行出结果,但是这里注意你每次定义并且调用$('#loading')的时候,都实际创建了一个新的变量,如果你需要重用的话,记住一定要定义到一个变量里,这样可以有效的缓存变量内容,如下:

    1
    2
    var $loading = $('#loading');
    $loading.html('完毕');$loading.fadeOut();

      这样性能会更好。

      使用链式操作

      上面那个例子,我们可以写的更简洁一些:

    1
    2
    var $loading = $('#loading');
    $loading.html('完毕').fadeOut();

      这样是不是更省力气书写呢? 但是注意链式操作不要串的过多了,如果太多了,对于你自己的debug的眼力是一个巨大的挑战

      精简jQuery代码

      尽量把一些代码都整合到一起,请勿这样编码:

    1
    2
    3
    4
    5
    // !!反面人物$button.click(function(){
        $target.css('width','50%');
        $target.css('border','1px solid #202020');
        $target.css('color','#fff');
    });

      应该这样书写:

    1
    2
    3
    $button.click(function(){
        $target.css({'width':'50%','border':'1px solid #202020','color':'#fff'});
    });

      避免使用全局类型的选择器

      请勿如下方式书写:

    1
    $('.something > *');

      这样书写更好:

    1
    $('.something').children();

      不要叠加多个ID

      请勿如下书写:

    1
    $('#something #children');

      这样就够了:

    1
    $('#children');

      多用逻辑判断||或者&&来提速

      请勿如下书写:

    1
    2
    3
    if(!$something) {
        $something = $('#something ');
    }

      这样书写性能更好:

    1
    $something= $something|| $('#something');

      尽量使用更少的代码

      与其这样书写

    1
    if(string.length > 0){..}

      不如这样书写:

    1
    if(string.length){..}

      尽量使用 .on方法

      如果你使用比较新版本的jQuery类库的话,请使用.on,其它任何方法都是最终使用.on来实现的。

      尽量使用最新版本的jQuery

      最新版本的jQuery拥有更好的性能,但是最新的版本可能不支持ie6/7/8,所以大家需要自己针对实际情况选择。

      尽量使用原生的Javascript

      如果使用原生的Javascript也可以实现jQuery提供的功能的话,推荐使用原生的javascript来实现。

      以上就是所有的jQuery代码书写技巧,如果你也有其它的书写技巧,请与我们分享!

  • 相关阅读:
    flink 读取kafka 数据,partition分配
    Flink 报错 "Could not find a suitable table factory for 'org.apache.flink.table.factories.StreamTableSourceFactory' in the classpath"
    flume接收http请求,并将数据写到kafka
    【翻译】Flume 1.8.0 User Guide(用户指南) Processors
    【翻译】Flume 1.8.0 User Guide(用户指南) Channel
    【翻译】Flume 1.8.0 User Guide(用户指南) Sink
    【翻译】Flume 1.8.0 User Guide(用户指南) source
    【翻译】Flume 1.8.0 User Guide(用户指南)
    Apache Flink 简单安装
    Java之使用IDE
  • 原文地址:https://www.cnblogs.com/gc2013/p/3597900.html
Copyright © 2011-2022 走看看