日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁(yè)編程開(kāi)發(fā)javascript|JQuery → Ecmascript 第三版的變態(tài)題目

      Ecmascript 第三版的變態(tài)題目

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/5/20 0:40:36字體大小:A-A+

      作者:西西點(diǎn)擊:2次評(píng)論:0次標(biāo)簽: ecmascript

      • 類型:音頻處理大。1M語(yǔ)言:中文 評(píng)分:5.1
      • 標(biāo)簽:
      立即下載

      這些題目都是針對(duì) Ecmascript 第三版的,原題里面全部都是選擇題,有備選答案,這里我把答案都去掉了,因?yàn)橛械念}目如果不看答案,你反而知道為什么,看了答案你卻遲疑了,所以,直接來(lái)做吧,給自己一點(diǎn)自信,相信自己!

      //題目 1

      (function(){
          return typeof arguments;
      })();
      //題目 2
      var f = function g(){ return 23; };
      typeof g();
      
      //題目 3
      (function(x){
          delete x;
          return x;
      })(1);
      
      //題目 4
      var y = 1, x = y = typeof x;
      x;
      
      //題目 5
      (function f(f){
          return typeof f();
      })(function(){ return 1; });
      
      //題目 6
      var foo = {
          bar: function() { return this.baz; },
          baz: 1
      };
      (function(){
          return typeof arguments[0]();
      })(foo.bar);
      
      //題目 7
      var foo = {
          bar: function(){ return this.baz; },
          baz: 1
      }
      typeof (f = foo.bar)();
      
      //題目 8
      var f = (function f(){ return "1"; }, function g(){ return 2; })();
      typeof f;
      
      //題目 9
      var x = 1;
      if (function f(){}) {
          x += typeof f;
      }
      x;
      
      //題目 10
      var x = [typeof x, typeof y][1];
      typeof typeof x;
      
      //題目 11
      (function(foo){
          return typeof foo.bar;
      })({ foo: { bar: 1 } });
      
      //題目 12
      (function f(){
          function f(){ return 1; }
          return f();
          function f(){ return 2; }
      })();
      
      //題目 13
      function f(){ return f; }
      new f() instanceof f;
      
      //題目 14
      with (function(x, undefined){}) length;

      怎么樣,是不是感覺(jué)有些棘手。

      1.這一題如果理解了 arguments 到底是個(gè)什么東西,就知道答案是什么了。原題里面,疑惑的答案有兩個(gè):"object", "array"。準(zhǔn)確答案是:"object" ,雖然 arguments 可以采用數(shù)組下標(biāo)的方式來(lái)使用,但是它不是數(shù)組,而且,typeof 的返回值里面,從來(lái)都不會(huì)有 array

      2.這一題的答案是:會(huì)報(bào)錯(cuò)。要弄懂這一題,需要知道 function 的作用。在 JavaScript 里面,function 有兩個(gè)作用,一是作為函數(shù)聲明,這個(gè)想必都可以理解,聲明函數(shù)時(shí),函數(shù)會(huì)被提升到當(dāng)前代碼的最頂端(被稱作函數(shù)提升);二是作為函數(shù)表達(dá)式,比如:

      var f = function test(){}

      此時(shí),test 是可選的,如果加上 test ,并不會(huì)出現(xiàn)函數(shù)提升效果,test只是作為當(dāng)前函數(shù)表達(dá)式的一個(gè)內(nèi)部屬性(f.name)

      3.這一題的答案是:1 。函數(shù)中的 delete 并沒(méi)有生效,在函數(shù)內(nèi)部,delete 無(wú)法刪除形參,刪除時(shí)也不會(huì)報(bào)錯(cuò),所以 x 依舊是 x 。如果確實(shí)要?jiǎng)h除 x,使用 undefined 取消它的值吧

      4.這一題的答案是:undifined 。賦值符號(hào) = 具有右結(jié)合性,執(zhí)行代碼的時(shí)候,先執(zhí)行右邊的代碼,再執(zhí)行左邊的代碼。所以 typeof x 是 undifined ,于是 x = y = undefined

      5.這一題的答案是:“number"。這個(gè)比較有疑惑性。函數(shù)接受本身作為自己的參數(shù),然后調(diào)用,此時(shí)就看誰(shuí)更具有更高的優(yōu)先級(jí)了,顯然,參數(shù)的優(yōu)先級(jí)更高,所以實(shí)際執(zhí)行的是:return typeof 1;

      6.這一題的答案是 ”undefined"。這道題個(gè)人覺(jué)得有點(diǎn)疑惑,測(cè)試的 this 的用法。雖然 foo.bar 傳遞給了函數(shù),但是真正執(zhí)行的時(shí)候,函數(shù) bar 的上下文環(huán)境是 arguments ,并不是 foo,arguemnts[0] 可以理解為 arguments.0(不過(guò)寫(xiě)代碼就不要這樣了,語(yǔ)法會(huì)錯(cuò)誤的),所以這樣看來(lái),上下文環(huán)境是 arguemnts 就沒(méi)問(wèn)題了

      7.這一題的答案還是: “undefined"。對(duì) foo.bar 來(lái)說(shuō),執(zhí)行的時(shí)候上下文是 foo,但是當(dāng) 把 foo.bar 賦值給 f 的時(shí)候,f 的上下文環(huán)境是 window ,是沒(méi)有 baz 的,所以是 ”undefined"

      8.這一題的答案是:”number"。這道題測(cè)試的逗號(hào)表達(dá)式的語(yǔ)法,不詳細(xì)說(shuō)了,不懂的話看下資料吧。

      9.這一題的答案是:“1undefined"。理解這一題的關(guān)鍵與第 2 題類似,不懂的多看看第二題吧。

      10.這一題的答案是:"string"。typeof 的結(jié)果一定是字符串。所以對(duì)字符串 再次 typeof ,肯定是 "string“ 了

      11.這一題的答案是:"undefined"。太具有迷惑性了,純文字游戲。形參 foo = {foo:{bar:1}} ,不存在 foo.baz ,所以結(jié)果是:”undefined"

      12.這一題的答案是:2 。函數(shù)提升了兩次,第二次把第一次覆蓋了,所以 return 后面的 f 是 return 語(yǔ)句的下一條語(yǔ)句聲明的函數(shù) f 。注意自執(zhí)行函數(shù) (function f (){})(); 中的 f 并沒(méi)有函數(shù)提升效果,它是表達(dá)式

      13.這一題的答案是:false。構(gòu)造函數(shù)本身在 new 的過(guò)程中會(huì)返回一個(gè)表示該對(duì)象的實(shí)例。但是函數(shù)的返回值覆蓋了這個(gè)實(shí)例,所以答案是 false。話說(shuō),這個(gè)真的有點(diǎn)變態(tài)………………

      14.這一題的答案是:2 。這道題開(kāi)始是我在百度知道上面回答問(wèn)題時(shí)看見(jiàn)的,一開(kāi)始覺(jué)得寫(xiě)錯(cuò)了,后來(lái)問(wèn)了一下,把這個(gè)變態(tài)題的網(wǎng)址給問(wèn)出來(lái)了,然后沒(méi)有看答案,研究了一下,才知道為什么。with的用法是這樣的:with(object) {},在大括號(hào)里面,可以引用object的屬性而不用使用object.attr這種形式。這道題里面,with接受了一個(gè)對(duì)象,只不過(guò)這個(gè)對(duì)象是函數(shù),函數(shù)有l(wèi)ength屬性,代表形參的個(gè)數(shù),所以上面返回的值是2

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門(mén)評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)