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

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

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

      隨手記

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>javascript深入簡出</title>
      </head>
      <body>
      
      </body>
      <script>    
      
      // 第一章 1.1函數表達式 四種方法
      
      // function variable 函數表達式
      var add = function(a,b){
          // dosth    
      };
      
      // IEF(Immediately Executed Function)立刻執行函數,匿名函數直接調用也叫作立即執行函數表達式
      (function(){
          // dosth
      })();
      
      
      // first-class function 函數也是對象,可以將它作為函數返回值來調用
      return function(){
          // dosth
      };
      
      // NTF(Named Function Expression)命名函數表達式  ****-
      var add = function foo (a,b){
          // dosth
      };
      
        ---------變量和函數聲明在開始前會前置------------------
      
      
      // NTF(Named Function Expression)命名函數表達式  ****-
      // 著名的BUG
      var func = function nef(){};
      alert(func===nfe);
      // 遞歸調用
      var func = fuction nfe(){/* dosth */ nfe()};
      //以上在ie6-8現實可以調用,
      
      
      
      //   第一章 1.2  大寫的F  Function 構造器 使用程度 **---
          var func = new Function('a'+'b','console.log(a + b)');
          func(1,2);//3
      
          var func = Function('a'+'b'+'console.log(a + b)');
          func(1,2);//3
      // Function 構造器不實用的原因
      // CASE 1
      Function('var localVal = "local";console.log(localVal);')();
      console.log(typeof localVal);
      // result:local,undefined
      
      //CASE 2 
      var globalVal = 'goabl';
      (function(){
          var localVal = 'local';
          Function('console.log(typeof localVal + typeof gobalVal;')();
      })();
      
      -----------------------------------------------------------------
                              |  函數聲明   | 函數表達式    |   函數構造器
      前置                    |        是      |       是          |        否
      允許匿名                   |        否      |        對          |        對
      加上括弧立刻調用         |        否      |        對          |        對
      在定義該函數的作用
      域通過函數名訪問        |        對      |     否          |        否
      沒有函數名                |        否      |     否          |/ 第二章 this關鍵字
      
      // 全局的this(瀏覽器)
       // eg.
       console.log(this.document === document);//true
      
       console.log(this === window);//true
      
       this.a = 38;
       console.log(window.a);//38
      
      /一般函數的this(瀏覽器)
      
      //eg.
      
      function f1() {
          return this;
      }
      
      f1() === window;//true,global object
      
      /但是在嚴格模式下回報錯
      
      //function f2(){
          'use strict'
          return this;
      }
      
      f2() === undefined;//true
      
      /作為對象方法的函數this
      // eg.
      var o = {
          prop:37,
          f:function(){
              return this.prop;
          }
      
      };
      
      console.log(o.f());//logs 37
      
      /對象原型鏈上的this
      //eg.
      var o = {f:function(){ return this.a + this.b;}};
      var p = Object.create(o);
      p.a = 1;
      p.b = 4;
      
      console.log(p.f());
      
      /get/set方法與this
      
      function modulus(){
          return Math.sqrt(this.re*this.re + this.im*this.im);
      }
      var o = {
          re:1,
          im:-1,
          get phase(){
              return Math.atan2(this.im,this.re);
          }
      };
      
      Object.defineProperty(o,'modulus',{
          get:modulus,enumerable:true,configurable:true
      });
      
      console.log(o.phase,o.modulus);//logs -0.78 1.4142
      
      /構造器中的this
      //eg.
      function MyClass(){
          this.a = 37;
      }
      var o =new MyClass();
      console.log(o.a);//37
      function C2(){
          this.a = 37;
          return {a:38};
      }
      
      o = new C2();
      console.log(o.a);//38
      
      /call/apply方法與this
      //eg.
       function add(c,d){
           return this.a + this.b + C + d;
       }
      
       var o = {a:1,b:3};
      
       add.call(o,5,7);//1+3+5+7 = 16;
      
       add.apply(o,[10,20]);//1+3+10+20 = 34;
      
       fucntion bar(){
           console.log(Object.prototype.toString.call(this));
       }
      bar.call(7);//"[object Number]"
      
      /bind 方法與this
      //eg.
      function f(){
          return this.a;
      }
      
      var g = f.bind({a:"test"});
          console.log(g());//test
      
      var o = {a:37,f:f,g:g};
      console.log(o.f(),o.g());//37,test
      
      
      /對象的概述
      //對象中包含一系列的屬性,這些屬性是無序的,每一個屬性多有一個字符串的key和對應的value
       var obj = {a:2,b;1};
       obj.a;//2
       obj.b;//1
      
       // 對象的結構
       // writable可寫
       // enumerable
       // configurable
       // value
       // get/set
      
      
      
      
      
      
      
      </script>
      </html>

       

      posted @ 2017-04-20 22:32  徐大春  閱讀(183)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国内不卡不区二区三区| 高清破外女出血AV毛片| 翘臀少妇被扒开屁股日出水爆乳| 伊人色综合一区二区三区影院视频| 日本少妇被黑人xxxxx| 久久se精品一区二区三区| 国内精品久久黄色三级乱| 精品人妻无码中文字幕在线| 国产午夜A理论毛片| 午夜福利院一区二区三区 | 在线午夜精品自拍小视频| 国产在线视频导航| 国产一区二区一卡二卡| 亚洲精品综合久久国产二区| 午夜免费无码福利视频麻豆| 亚洲国产无线乱码在线观看| 欧美黑人巨大videos精品| 九九热在线精品视频99| 久久精品蜜芽亚洲国产AV| 欧美videosdesexo吹潮| 国产一区二区av天堂热| 人妻夜夜爽天天爽三区丁香花 | 欧美一区二区三区欧美日韩亚洲 | 99久久久国产精品消防器材| 乐都县| 成在人线av无码免费看网站直播| 国产自拍偷拍视频在线观看| 国产成人高清精品亚洲| 一本一道av无码中文字幕﹣百度| 精品国产精品中文字幕| 亚洲精品日韩在线观看| 成人麻豆日韩在无码视频| 东京热一区二区三区在线| 国产精品第一页中文字幕| 四虎永久精品免费视频| 元码人妻精品一区二区三区9| 国产精品国产精品偷麻豆| 日本边吃奶边摸边做在线视频| 大地资源免费视频观看| 国产精品青草久久久久福利99| 欧美怡春院一区二区三区|