<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      川山甲

      追求內(nèi)心的非常平靜!瞬間清空所有的雜念,達(dá)到物我兩忘!

        博客園  :: 首頁(yè)  ::  :: 聯(lián)系 :: 訂閱 訂閱  :: 管理
       
        我好長(zhǎng)時(shí)間沒(méi)有在推薦欄里出現(xiàn)了,看來(lái)上一篇反響不錯(cuò),故再續(xù)上篇。
       
      Properties
       
       ? 當(dāng)訪問(wèn)屬性的時(shí)候,我們使用點(diǎn)(.)操作符。
      var luke = {
        jedi: true,
        age: 28
      };
      
      // bad
      var isJedi = luke['jedi'];
      
      // good
      var isJedi = luke.jedi;

       ? 當(dāng)以變量的方式訪問(wèn)屬性的時(shí)候,用下標(biāo)符號(hào)([])。——除非特殊需求,否則盡量避免使用obj[variable]的方式進(jìn)行屬性訪問(wèn)。

      var luke = {
        jedi: true,
        age: 28
      };
      
      function getProp(prop) {
        return luke[prop];
      }
      
      var isJedi = getProp('jedi');

       

      Variables
       
       ? 總是使用var定義變量,否則會(huì)導(dǎo)致產(chǎn)生隱含全局變量。我們要盡量避免污染全局變量命名空間。
      // bad
      superPower = new SuperPower();
      
      // good
      var superPower = new SuperPower();

      湯姆大叔—javascript系列文章中提到“JavaScript有隱含的全局概念,意味著你不聲明的任何變量都會(huì)成為一個(gè)全局對(duì)象屬性。在技術(shù)上,隱式全局變量并不是真正的全局變量,但它們是全局對(duì)象的屬性。屬性是可以通過(guò)delete操作符刪除的,而變量是不能的。"

       ? 使用一個(gè)var定義多個(gè)變量,每個(gè)變量在一個(gè)新行上。
      // bad
      var items = getItems();
      var goSportsTeam = true;
      var dragonball = 'z';
      
      // good
      var items = getItems(),
          goSportsTeam = true,
          dragonball = 'z';

       ? 用var定義多個(gè)變量的時(shí)候,把不進(jìn)行賦值的變量放置到最后——這是相當(dāng)有益的。尤其是當(dāng)你的變量需要前面變量值的時(shí)候。

      // bad
      var i, len, dragonball,
          items = getItems(),
          goSportsTeam = true;
      
      // bad
      var i, items = getItems(),
          dragonball,
          goSportsTeam = true,
          len;
      
      // good
      var items = getItems(),
          goSportsTeam = true,
          dragonball,
          length,
          i;

       ? 把你的賦值變量放置在當(dāng)前作用域的頂端。這將避免變量聲明和hoisting(懸置/置頂解析/預(yù)解析)的問(wèn)題。

      // bad
      function() {
        test();
        console.log('doing stuff..');
      
        //..other stuff..
      
        var name = getName();
      
        if (name === 'test') {
          return false;
        }
      
        return name;
      }
      
      // good
      function() {
        var name = getName();
      
        test();
        console.log('doing stuff..');
      
        //..other stuff..
      
        if (name === 'test') {
          return false;
        }
      
        return name;
      }
      
      // bad
      function() {
        var name = getName();
      
        if (!arguments.length) {
          return false;
        }
      
        return true;
      }
      
      // good
      function() {
        if (!arguments.length) {
          return false;
        }
      
        var name = getName();
      
        return true;
      }

       

      Hoisting
       
      湯姆大叔:
        1、JavaScript中,你可以在函數(shù)的任何位置聲明多個(gè)var語(yǔ)句,并且它們就好像是在函數(shù)頂部聲明一樣發(fā)揮作用,這種行為稱(chēng)為 hoisting(懸置/置頂解析/預(yù)解析)。
        2、對(duì)于JavaScript,只 要你的變量是在同一個(gè)作用域中(同一函數(shù)),它都被當(dāng)做是聲明的,即使是它在var聲明前使用的時(shí)候。
       ?  變量聲明提升到當(dāng)前作用域的頂端,而它們的賦值操作不一定要這么做。
      function example() {
        console.log(notDefined); // => throws a ReferenceError
      }
      
      
      function example() {
        console.log(declaredButNotAssigned); // => undefined
        var declaredButNotAssigned = true;
      }
      
      
      function example() {
        var declaredButNotAssigned;
        console.log(declaredButNotAssigned); // => undefined
        declaredButNotAssigned = true;
      }

       ?  匿名表達(dá)式會(huì)自動(dòng)提升它們的變量名稱(chēng)(也就是說(shuō)在var anonymous上面,example函數(shù)就已經(jīng)知道有這個(gè)變量了),但是它們的函數(shù)體不會(huì)。

      function example() {
        console.log(anonymous); // => undefined
      
        anonymous(); // => TypeError anonymous is not a function
      
        var anonymous = function() {
          console.log('anonymous function expression');
        };
      }

       ?  命名函數(shù)表達(dá)式也會(huì)提升它們的變量名稱(chēng),而它們的函數(shù)名稱(chēng)和函數(shù)體不會(huì)這樣做。

      function example() {
        console.log(named); // => undefined
      
        named(); // => TypeError named is not a function
      
        superPower(); // => ReferenceError superPower is not defined
      
        var named = function superPower() {
          console.log('Flying');
        };
      
      
        function example() {
          console.log(named); // => undefined
      
          named(); // => TypeError named is not a function
      
          var named = function named() {
            console.log('named');
          };
        }
      }

       ?  注意:函數(shù)聲明會(huì)提升它們的變量名稱(chēng)還有它們的函數(shù)體

      function example() {
        superPower(); // => Flying
      
        function superPower() {
          console.log('Flying');
        }
      }

        

      Conditional Expressions & Equality
       
       ?  使用 === 和 !== 代替==和!=。
      == 和 != 會(huì)進(jìn)行隱式類(lèi)型轉(zhuǎn)換,所以建議使用===和!==。
       ?  強(qiáng)制使用對(duì)象的特性(ToBoolean)得到條件表達(dá)式的值,大致遵循以下簡(jiǎn)單規(guī)則。
        ? Objects 得到的值是true。
        ? Undefined得到的值是false。
        ? Null得到的值是false。
        ? Booleans得到的值是Boolean值(呵呵,當(dāng)然)。
        ? Numbers 得到的值是:如果是+0,-0,或者NaN就是false,否則就是true。
        ? Strings 得到的值是:如果是'',就是false,否則就是true。
      if ([0]) {
        // true
        // An array is an object, objects evaluate to true
      }

       ?  使用快捷方式。

      // bad
      if (name !== '') {
        // ...stuff...
      }
      
      // good
      if (name) {
        // ...stuff...
      }
      
      // bad
      if (collection.length > 0) {
        // ...stuff...
      }
      
      // good
      if (collection.length) {
        // ...stuff...
      }

       

       
      總結(jié)
       
        歡迎大家討論,希望能反映出更多的問(wèn)題來(lái)。
       
       
      推薦
       

       

      posted on 2013-04-22 21:35  川山甲  閱讀(2956)  評(píng)論(11)    收藏  舉報(bào)
      主站蜘蛛池模板: 久久国产精品久久久久久| 成人免费AA片在线观看| 成人性生交大片免费看中文| 国产一区| 国产精品乱一区二区三区| 成人免费看片又大又黄| 国产精品天天看天天狠| 黄色三级亚洲男人的天堂| 天堂网国产| 中文字幕久区久久中文字幕| 国产亚洲av夜间福利香蕉149| 亚洲五月丁香综合视频| 无码av岛国片在线播放| 亚洲中文无码永久免费| 亚洲 国产 制服 丝袜 一区| 国产99在线 | 免费| 18av千部影片| 丰满人妻熟妇乱又伦精品软件| 久久日韩精品一区二区五区| 翘臀少妇被扒开屁股日出水爆乳 | 欧洲精品码一区二区三区| 深夜在线观看免费av| 婷婷色综合成人成人网小说| 国产精品久久久久久久久软件| 日韩美女亚洲性一区二区| 男女做爰真人视频直播| 国产熟女激情一区二区三区| 国产成人综合色就色综合 | 亚洲精品美女一区二区| 国产成人无码免费看视频软件 | 中文字幕无码av不卡一区| 精品人妻二区中文字幕| 欧美自拍另类欧美综合图片区| 国产成人精品视频国产| 在线看av一区二区三区| 麻豆天美东精91厂制片| 国产免费一区二区不卡| 国产精品高清中文字幕| 国产精品99中文字幕| 日韩人妻不卡一区二区三区| 亚洲av日韩在线资源|