1. 程式人生 > 實用技巧 >Vue和d3.js(v4)力導向圖force結合使用,v3版本升級v4【一】

Vue和d3.js(v4)力導向圖force結合使用,v3版本升級v4【一】

JavaScript

1.概念:一門客戶端指令碼語言

  • 執行在客戶端瀏覽器中的。每個瀏覽器都有JavaScript的解析引擎

  • 指令碼語言:不需要編譯,直接就可以被瀏覽器解析執行了

2.功能:

  • 可以來增強使用者和HTML頁面的互動過程,可以來控制HTML元素,讓頁面有一些動態的效果,增強使用者的體驗。

3.JavaScript發展史:

  • 1992年,Nombase公司,開發出第一門客戶指令碼語言,專門用於表單的校驗。命名為:C--,後來更名為:ScriptEase

  • 1995年,Netscape(網景)公司,開發了一門客戶端指令碼語言:LiveScript。後來,請來了SUN公司的專家,修改LiveScript,命名為JavaScript

  • 1996年,微軟抄襲JavaScript開發出JScript語言

  • 1997年,ECMA(歐洲計算機制造商協會),ECMAScript,就是所欲客戶端指令碼語言的標準。

    JavaScript=ECMCScript + JavaScript自己特有的東西(BOM+DOM)

學習過程:

ECMAScript:客戶端指令碼語言的標準

  • 基本語法:

    • 與html結合的方式

      1.內部JS

      • 定義<script>,標籤體內容就是js程式碼

      2.外部JS

      • 定義<script>,通過src屬性引入外部的js檔案

      • 注意:

        <script>可以定義在html頁面的任何地方。但是定義的位置會影響執行順序

        <script>可以定義多個

    • 註釋

      1. 單行註釋://註釋內容

      2. 多行註釋:/註釋內容/

    • 資料型別

      1. 原始資料型別(基本資料型別):

        1. number:數字。整數/小數/NaN(not a number 一個不是數字的數字型別)

        2. string:字串。字元/字串 "abc" "a" 'abc'

        3. boolean: true 和 false

        4. null:一個物件為空的佔位符

        5. undefined:未定義。如果變數沒有給初始化值,則會被預設賦值為undefined

      2. 引用資料型別:物件

    • 變數

      1. 變數:一小塊儲存資料的記憶體空間

      2. Java語言是強型別語言,而JavaScript是弱型別語言。

        • 強型別:在開闢變數儲存空間時,定義了空間來儲存的資料的資料型別。只能儲存固定型別的資料

        • 弱型別:在開闢變數儲存空間時,不定義空間將來的儲存資料型別,可以存放任意型別的資料。

      3. 語法:

        • var 變數 = 初始化值;

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            //定義變數
            var a = 3;
            var b = 1.2;
            var c = NaN;
    ​
            /*
                輸出到頁面上
             */
            document.write(a+"----"+typeof (a)+"<br>");
            document.write(b+"----"+typeof (b)+"<br>");
            document.write(c+"----"+typeof (c)+"<br>");
    ​
            //定義string型別
            var str = "abc";
            var str2 = 'sde';
            document.write(str+"----"+typeof (str)+"<br>");
            document.write(str2+"----"+typeof (str2)+"<br>");
            //定義boolean
            var flag = true;
            document.write(flag+"----"+typeof (flag)+ "<br>");
            //定義 null
            var obj = null;
            var obj1 = undefined;
            var obj3 ;
            document.write(obj+"----"+typeof (obj)+"<br>");
            document.write(obj1+"----"+typeof (obj1)+"<br>");
            document.write(obj3+"----"+typeof (obj3)+"<br>");
    ​
            /*
                輸出結果:
                    3----number
                    1.2----number
                    NaN----number
                    abc----string
                    sde----string
                    true----boolean
                    null----object
                    undefined----undefined
                    undefined----undefined
             */
        </script>
    </head>
    <body>
    </body>
    </html>

    • 運算子

      1. 一元運算子:只有一個運算數的運算子

        ++,--,+(正號)

        <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>Title</title>
            <script>
                /*
                    ++  --:自增(自減)
        ​
                    ++(--):在前,先自增(自減),再運算
        ​
                    ++(--):在後,先運算,再自增(自減)
        ​
                    +(-):正負號
        ​
                    •   注意:在JS中,如果運算數不是運算子所要求的型別,那麼js引擎會自動的將運算數進行型別轉換
        ​
                    •   其他型別轉number:
        ​
                    •       string轉number:按照字面值轉換,如果字面值不是數字,則轉為NaN(不是數字的數字)
        ​
                    •       boolean轉number:true轉為1,false轉為0
                 */
                var num = 3;
                var a = num ++;
        ​
                document.write(num+"<br>");//4
                document.write(a+"<br>");//3
                document.write("<br>");
        ​
                var b = + "ads2123";
                alert(b);//NaN
        var c = +"123";
                alert(c);//123
        var flag = + true;
                var flag1 = + false;
                var flag2 = - true;
                document.write(typeof (flag)+"-----"+flag+"<br>");//number-----1
                document.write(typeof (flag1)+"-----"+flag1+"<br>");//number-----0
                document.write(typeof (flag2)+"-----"+flag2+"<br>");//number------1
            </script>
        </head>
        <body>
        </body>
        </html>

      1. 算數運算子

        / * + - % ....

      1. 賦值運算子

        = += -= .......

      1. 比較運算子

        == > < >= <= ===(全等於)

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
          <script>
              /*
                  比較運算子:
                      比較方式:
                          1.型別相同,直接比較
                              字串:按照字典順序比較。按位逐一比較,知道得到大小為止
                          2.型別不同:先進行型別轉換,再比較
                              === 全等於。在比較之前,先判斷型別,如果型別不一樣,則直接返回false
               */
              document.write(3 > 4 +"<br>");//false
              document.write("abc" > "ade" +"<br>");//false
              document.write(("123" == 123)+"<br>");//true
              document.write(("123" === 123)+ "<br>");//false
          </script>
      </head>
      <body></body>
      </html>

      1. 邏輯運算子

        && || !

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>比較運算子</title>
          <script>
              /*
                  邏輯運算子:
                      && : 與(短路)
                      ||: 或(短路)
                      !:非
                          * 其他型別轉boolean
                              1.number:0或者NaN為假,其他為真
                              2.string:有值為true,沒有值為false
                              3.null&undefined
                              4.物件:
               */
              var flag = true;
              document.write(flag+"<br>");
              document.write(!flag+"<br>");
      ​
              document.write("<hr>");
      ​
              var num = 3;
              var num1 = 0;
              var num2= NaN;
              document.write(!num+"<br>");
              document.write(!num1+"<br>");
              document.write(!num2+"<br>");
              document.write("<hr>");
      ​
              var str1 = "abc";
              var str2 = "";
              document.write(!!str1+"<br>");
              document.write(!!str2+"<br>");
              document.write("<hr>");
      ​
              //null & undefined
              var obj = null;
              var obj1;
              document.write(!!obj+"<br>");
              document.write(!!obj1+"<br>");
      ​
              var date = new Date();
              document.write(!!date+"<br>");
              document.write("<hr>");
      ​
              var obj3 = new Date();
              
              if (obj3 != null){
                  alert(123);
              }
              //js中可以這樣定義,簡化書寫    物件和陣列都可這樣
              if (obj3){
                  alert(234);
              }
          </script>
      </head>
      <body></body>
      </html>

      1. 三元運算子

        ? :

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>三元運算子</title>
          <script>
              /*
                  語法:
                      表示式?值1:值2;
               */
              var a = 3;
              var b = 4;
              var c = a > b? "a大" : "b大";
              document.write(c);
          </script>
      </head>
      <body></body>
      </html>

    • 流程控制語句

      1. if...else...

      2. switch:

        在java中,switch語句可以接受的資料型別:byte int shor char 列舉(1.5) String(1.7)

        switch(變數):

        case 值:

        在JS中,switch語句可以接受任意的原始資料型別

      3. while

      4. do...while

      5. for

    • JS特殊語法

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>特殊語法</title>
        <script>
            //1.語句以 ; 結尾,如果一行只有一條語句則 ; 可以省略(不建議省略)
            var a = 3
            /*
                   2.變數的定義使用var關鍵字,也可以不使用
                        用:定義的變數是區域性變數
                        不用:定義的變數是全域性變數   (不建議使用)
             */
          /*  b = 4;
            alert(b);*/
            /*function fun() {
                b = 4;
            }
            fun();
            alert(b);*/</script>
    </head>
    <body></body>
    </html>

    • 練習:99乘法表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>99乘法表</title>
    <style>
        td{
            border: 1px solid;
        }
    </style>
    <script>
        document.write("<table align:center>");
        for (var i = 1;i<=9;i++){
            document.write("<tr>");
            for (var y = 1; y<=i ; y++){
                document.write("<td>");
                document.write(i +"&nbsp;"+ "*" + "&nbsp;" + y +"&nbsp;"+"="+"&nbsp;"+(i*y));
                document.write("</td>");
            }
            document.write("</tr>");
        }
    </script>
</head>
<body></body>
</html>

  • 基本物件:

    Function物件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Function物件</title>
        <script>
            /*
                Function:函式(方法)物件
                1.建立:
                    1.var fun = new Function(形式引數列表,方法體);//不建議使用,知道即可
                    2.function 方法名稱(形式引數列表){
                            方法體;
                        }
                    3.var 方法名 = function(形式引數列表){
                            方法體
                    }
                2.方法:
    ​
                3.屬性:
    ​
                4.特點:
                    1.方法定義時,形參的型別不用寫
                    2.方法是一個物件,如果定義名稱相同的方法,會覆蓋
                    3.在JS中,方法的呼叫只與方法的名稱有關,和引數列表無關
                    4.在方法宣告中,有一個隱藏的內建物件(陣列),arguments,封裝了所有的實際引數
                5.呼叫:
                    方法名稱(實際引數列表);
             */
            //1.建立方式1
            var fun1 = new Function("a","b","alert(a);");
            //呼叫方法
            //fun1(5,4);
            //alert(fun1.length);
    //2. 建立方式2
            function fun2(a,b) {
                alert(a+b);
            }
            //fun2(4,6);
            //alert(fun2.length);
    //3.建立方式3
            var fun3 = function (a,b) {
                alert(a+b);
            }
            //fun3(4,5);
            //alert(fun3.length);
    function fun4(a,b) {
                alert(a);
                alert(b);
            }
            //fun4(2,3);
            //fun4(4);
            //fun4();
            //fun4(4,5,7);
    /*
                求兩個數的和
             */
            /*function add(a,b) {
                return a+b;
            }*/
            //求任意個數的和
            function add() {
                var sum = 0;
                for (var i = 0;i<arguments.length;i++){
                    sum += arguments[i];
                }
                return sum;
            }
            //var sum = add(1,2);
            alert(add(1,2,3,4,5,6,7,8,9,10));
            //alert(sum);
        </script>
    </head>
    <body>
    </body>
    </html>

    Array

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Array物件</title>
        <script>
            /*
                Array:陣列物件
                    1.建立:
                        1. var arr = new Array(元素列表);
                        2. var arr = new Array(預設長度);
                        3. var arr = [元素列表];
                    2.方法:
                        join(引數):將陣列中的元素按照指定的分隔符拼接為字串
                        push() 向陣列的末尾新增一個或更多的元素,並返回新的長度。
                        concat():連線兩個或更多的陣列,並返回結果
                        pop():刪除並返回陣列的最後一個元素
                        reverse():顛倒陣列中元素的順序
                        shift():刪除並返回陣列的第一個元素
                        slice() : 從某個已有的陣列返回選定的元素
                        sort():對陣列中的元素進行排序
                        splice():刪除元素,並向陣列新增新元素
                        toSource():返回該物件的原始碼
                        toString():把陣列轉換為字串,並返回結果
                        toLocaleString():把陣列轉換為本地陣列,並返回結果
                        unshift():向陣列的開頭新增一個或更多元素,並趕回新的長度
                        valueOf():返回陣列物件的初始值
    
                    3.屬性:
                        length:陣列的長度
                    4.特點:
                        1.JS中,陣列中元素的型別是可變的。
                        2.JS中,陣列的長度是可變的
             */
            //1.建立方式
            /*ar arr1 = new Array(1,2,3);
            var arr2 = new Array(5);
            var arr3 = [1,2,3,4,5];
            var arr4 = new Array();
    
            document.write(arr1 + "<br>");
            document.write(arr2 + "<br>");
            document.write(arr3 + "<br>");
            document.write(arr4 + "<br>");*/
    
            var arr = [1,"abc",true];
            document.write(arr + "<br>");
    
            document.write(arr[0] + "<br>");
            document.write(arr[1] + "<br>");
            document.write(arr[2] + "<br>");
            document.write(arr[3] + "<br>");
            arr[10] = "langlang";
            document.write(arr[10]+"<br>");
            document.write(arr[8]+"<br>");
            document.write(arr.length+"<br>");//11
            document.write(arr.join("-")+"<br>");
            arr.push("測試");
            //arr.reverse();
            document.write(arr.join("-")+"<br>");
    
        </script>
    </head>
    <body>
    
    </body>
    </html>

    Boolean

    Date

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Date物件</title>
        <script>
            /*
                Date:日期物件
                    1.建立:
                        var date = new Date();
                    2.方法:
                        toLocaleString():返回當前date物件對應的時間本地字串格式
                        getTime():獲取毫秒值。返回當前日期物件描述的時間和1970年1月1日零點的毫秒值差
             */
            var date = new Date();
            document.write(date + "<br>");//Mon Sep 14 2020 15:50:17 GMT+0800 (中國標準時間)
    
            document.write(date.toLocaleString()+"<br>");//2020/9/14 下午3:50:17
    
            document.write(date.getTime()+ "<br>");//1600069912334
        </script>
    </head>
    <body>
    
    </body>
    </html>

    Math

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Math物件</title>
        <script>
            /*
                Math:
                    1.建立:
                        * 特點:Math物件不用建立,直接使用。Math.方法名()
                    2.方法:
                        random():返回0-1之間的隨機數    [0,1)
                        ceil(x):對數進行上舍入
                        floor(x):對數進行下舍入
                        round():把數四捨五入為最接近的整數
                    3.屬性:
                        PI
    
             */
            document.write(Math.PI+"<br>");
            document.write(Math.random()+"<br>");
            document.write(Math.ceil(3.14)+"<br>");//4
            document.write(Math.floor(3.14)+"<br>");//3
            document.write(Math.round(3.49)+"<br>");//3
            document.write(Math.round(3.50)+"<br>");//4
        </script>
    </head>
    <body>
    
    </body>
    </html>

    Number

    String

    RegExp:正則表示式物件

    1. 正則表示式:定義字串的組成規則

      1. 單個字元:[]

        如:[a] [ab] [z-zA-Z0-9_]

        特殊符號代表特殊含義的單個字元:

        \d:單個數字字元 [0-9]

        \w:單個單詞字元[z-zA-Z0-9_]

      2. 量詞符號

        * 表示出現0次或1次

        表示出現0次或1次

        (正號)+ 出現1次或多次

        {m,n}:表示 m <= 數量 <= n

        m如果預設:{,n}:最多n次

        n如果預設:{m,} 最少m次

      3. 開始結束符號

        ^:開始

        $:結束

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>RegExp物件</title>
        <script>
                /*
                    正則物件:
                        1.建立:
                            1.var reg = new RegExp("正則表示式");
                            2. var reg = /正則表示式/;
                        2.方法
                            test(引數):驗證指定的字串是否符合正則表示式的規範
    
                 */
            //1.
            var reg = new RegExp("^\\w{6,12}$");
            //2.
            var reg2 = /^\w{6,12}$/;
    
            /*alert(reg);
            alert(reg2);*/
    
            var username = "zhangsan";
    
            //驗證
            var flag = reg.test(username);
            alert(flag);
    
        </script>
    </head>
    <body>
    
    </body>
    </html>

    Global

    1. 特點:全域性物件,這個Global中封裝的方法不需要物件就可以直接呼叫。方法名();

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Global物件</title>
        <script>
            /*
                Global
                    1.特點:全域性物件,這個Global中封裝的方法不需要物件就可以直接呼叫。方法名()
                    2.方法:
                        encodeURI():url編碼
                        decodeURI:url解碼
    ​
                        encodeURIComponent():url編碼  編碼的字元更多
                        decodeURIComponent():url解碼
    ​
                        parseInt():將字串轉為數字
                            逐一判斷每一個字元是否是數字,直到不是數字為止,將前邊數字部分轉為number
    ​
                        isNaN():判斷一個值是否是NaN
                             NaN六親不認,連自己都不認識。NaN參與的== 的比較全部為false
    ​
                        eval():將 JavaScript 字串,並把它作為指令碼程式碼執行
                    3.URL編碼
                       我是浪浪呀 = %E6%88%91%E6%98%AF%E6%B5%AA%E6%B5%AA%E5%91%80
             */
            var str = "http://www.baidu.com?wd=我是浪浪呀";
            var encode = encodeURI(str);
            document.write(encode+"<br>");//%E6%88%91%E6%98%AF%E6%B5%AA%E6%B5%AA%E5%91%80
            var s = decodeURI(encode);
            document.write(s+"<br>");
    ​
            var str1 = "http://www.baidu.com?wd=我是浪浪呀";
            var encode1 = encodeURIComponent(str1);
            document.write(encode1+"<br>");//%E6%88%91%E6%98%AF%E6%B5%AA%E6%B5%AA%E5%91%80
            var s1 = decodeURIComponent(encode1);
            document.write(s1+"<br>");
    ​
            var str2 = "a123abc";
            var number = parseInt(str2);
            alert(number + 1);
    ​
            var aa = NaN;
            document.write(aa == NaN+"<br>");//false
            document.write(isNaN(aa)+"<br>");//true
    var jscode = "alert(123)";
            eval(jscode);
    ​
        </script>
    </head>
    <body></body>
    </html>

DOM

DOM簡單學習:

  • 功能:控制html文件的內容

  • 程式碼:獲取頁面標籤(元素)物件 Element

    • document.getElementById("id值"):通過元素的id獲取元素物件

  • 操作Element物件:

    1. 設定屬性值

      1. 明確獲取的物件是哪一個?

      2. 檢視API文件,找其中有哪些屬性可以設定

    2. 修改標籤體內容:

      • 屬性:innerHTML

      1. 獲取元素物件

      2. 使用innerHTML屬性修改標籤體內容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM——獲取元素物件</title></head>
<body>
    <img id="light" src="img/cropped-1920-1080-1062189.jpg">
    <h1 id="title">悔創阿里傑克馬</h1>
    <script>
        //通過id獲取元素物件
        var light = document.getElementById("light");
        alert("我要換圖片了。。。");
        light.src = "img/s1.jpg";
​
        //1.獲取h1標籤物件
        var title = document.getElementById("title");
        alert("我要換內容了");
        //2.修改內容
        title.innerHTML = "不識妻美劉強東";
    </script>
</body>
</html>

事件簡單學習

  • 功能:某些元件被執行了某些操作後,觸發某些程式碼的執行。

  • 如何去繫結事件

    1. 直接在HTML標籤上,指定事件的屬性,屬性值就是js程式碼

      1. 事件:onclick---->點選事件

      2. 通過js獲取元素物件,指定事件屬性,設定一個函式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件繫結</title></head>
<body>
<img id="light" src="img/cropped-1920-1080-1062189.jpg" onclick="fun();">
<img src="img/s1.jpg" id="light2">
<script>
    function fun() {
        alert("我被點了!");
​
    }
​
    function fun2() {
        alert("咋老是點我!");
    }
    //1.獲取light物件
    var light2 = document.getElementById("light2");
    //2.繫結事件
    light2.onclick = fun2;
</script>
</body>
</html>

案例:點選圖片自動切換

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>圖片切換</title>
</head>
<body>
    <img id="light" src="img/s1.jpg">
<script>
    /*
        分析:
            1.獲取圖片物件
            2.繫結單擊事件
            3.每次點選切換圖片
                規則:如果是圖片是圖1,切換為圖2
                     如果圖片是圖二,切換為圖1
                使用標記flag來完成
     */
    //1.獲取圖片物件
    var light = document.getElementById("light");
​
    var flag= false;//代表是圖1
​
    light.onclick = function () {
        if (flag){
            light.src = "img/s1.jpg";
            flag = false;
        }else {
            light.src = "img\\cropped-1920-1080-1062189.jpg";
            flag = true;
        }
​
    }
</script>
</body>
</html>

BOM

  • 概念:Browser Object Model 瀏覽器物件模型

    • 將瀏覽器的各個組成部分封裝成物件。

  • 組成:

    1. Window:視窗物件

    2. Navigator:瀏覽器物件

    3. Screen:顯示器螢幕物件

    4. History:歷史記錄物件

    5. Location:位址列物件

Window:視窗物件

  • 彈出框有關的方法:

    • alert() 警告框

    • confirm() 確認框

    • prompt() 輸入框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Window物件</title>
    <script>
        /*
            Window:視窗物件
                1.建立
                2.方法
                    1.與彈出框有關的方法:
                        alert() 顯示帶有一段訊息和一個確認按鈕的警告框
                        confirm()   顯示帶有一段訊息以及確認按鈕和取消按鈕的對話方塊
                            如果使用者點選確認按鈕,則方法返回true
                            如果使用者點選取消按鈕,則方法返回false
​
                        prompt()    顯示可提示使用者輸入的對話方塊
                            返回值。獲取使用者輸入的值
                3.屬性
                4.特點
                    Window物件不需要建立可以直接使用     window使用    window.方法名();
                    window引用可以省略。   方法名();
         */
        alert("hello window");
        window.alert("hello w");
        var t = confirm("確認退出嗎?");
        if(t){
            //退出操作
            alert("歡迎再次光臨!");
        }else {
            //提示:
            alert("手別抖。。");
        }
​
        //輸入框
        var result = prompt("請輸入使用者名稱:");
        alert(result);
    </script>
</head>
<body></body>
</html>

  • 與開啟關閉有關的方法

    • close() 關閉瀏覽器視窗。 誰呼叫,關閉誰

    • open() 開啟一個新的瀏覽器視窗 返回新是window物件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Window物件</title></head>
<body>
    <input type="button" value="開啟視窗" id="openBtn">
    <input type="button" value="關閉視窗" id="closeBtn">
    <script>
        /*
            Window:視窗物件
                1.建立
                2.方法
                      與開啟關閉有關的方法:
                      close()   關閉瀏覽器視窗。
                            誰呼叫我 我關誰
                      open()    開啟一個新的瀏覽器視窗
                            返回新的Window物件
                3.屬性
                4.特點
                    Window物件不需要建立可以直接使用     window使用    window.方法名();
                    window引用可以省略。   方法名();
         *///開啟一個新視窗
        var openBtn = document.getElementById("openBtn");
        var newWindow;
        openBtn.onclick = function () {
            //開啟新視窗
            newWindow = open("http://www.baidu.com");
        }
​
        //關閉開啟的新視窗
        var closeBtn = document.getElementById("closeBtn");
        closeBtn.onclick = function () {
            //關閉開啟的新視窗
            newWindow.close();
        }
​
    </script>
</body>
</html>

  • 與定時器有關的方法

    • setTimeout() 一次性定時器

    • clearTimeout() 關閉一次性定時器

    • setInterval() 迴圈定時器

    • clearInterval() 關閉迴圈定時器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Window物件</title></head>
<body>
    <script>
        /*
            Window:視窗物件
                1.建立
                2.方法
                     與定時器有關的方法:
                     setTimeout():  在指定的毫秒數後呼叫函式或計算表示式
                            引數:
                                1.js程式碼或者方法物件
                                2.毫秒值
                            返回值;唯一標識,用於取消定時器
                     clearTimeout() 取消由setTimeout() 方法設定的timeout
​
                     setInterval()  按照指定的週期(以毫秒計) 來呼叫函式或計算表示式
                     clearInterval() 取消由setInterval()方法設定的迴圈定時器
                3.屬性
                4.特點
                    Window物件不需要建立可以直接使用     window使用    window.方法名();
                    window引用可以省略。   方法名();
         *///一次性定時器
        var id = setTimeout(fun,3000);
        clearTimeout(id);
        function fun() {
            alert("boom~~~");
        }
​
        //迴圈定時器
        var id1 = setInterval(fun,2000);
        clearInterval(id1);
    </script>
</body>
</html>