day15--JavaScript語言,

來源:互聯網
上載者:User

day15--JavaScript語言,

JavaScript

    JavaScript是一門單獨的程式設計語言。瀏覽器內建JavaScript的解譯器。 

    獨立的語言,瀏覽器具有js解譯器。

    存在與HTML中,在HTML中寫JavaScript,存在形式是<script></script>

    JavaScript的存在形式

    <script type="text/javascript></script>表示JS代碼,或者不寫直接<script></script>,不能寫錯

        - Head中(第一種存在形式,HTML代碼的head中)

    <script>        (1)種表示方式

      //javascript代碼

      alert(123);

    </script>     

    <script type="text/javascript>            (2)種表示方式

      //javascript代碼

      alert(123);

    </script>

  - 儲存在檔案中,<script src="js檔案路徑"></script>  (第二種存在形式,js檔案裡面,使用src引用到HTML中)

    <script>中屬性scr的地址可以是網路路徑,JS是讓網頁動起來的。

        由於我們總是先讓使用者看到內容,才讓網頁動起來,所以JavaScript的代碼,放在</body>標籤最後面

    下面來看兩段HTML代碼,如下:

    (1)

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <script src="js.js"></script></head><body>    <h1>限制性JavaScript的檔案,然後才會執行HTML代碼JS是讓頁面動起來</h1></body></html>

    此段代碼,開啟之後,先載入的是<script>中的代碼,載入完畢之後,才會載入<HTML>代碼,這樣肯定是不好的,因為使用者經常是先看到內容,然後網頁自動載入,這樣才有更好的體驗,因此<script>的代碼要放在<body>標籤的後面,如下:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body>    <h3>限制性JavaScript的檔案,然後才會執行HTML代碼JS是讓頁面動起來</h3>    <h3>先載入HTML內容</h3>    <h3>JS代碼寫在&lt;body&gt;內部的最下面</h3>    <script src="http://wwww"></script></body></html>

    PS:JavaScript檔案防止在<body>標籤內部的最下方。

    注釋:單行注釋 //      多行注釋:/*      */

    變數

    python: 

    name="alex"

    JavaScript

    name = "alex"                   #聲明全域變數

    var name = "eric"             #局部變數,寫JavaScript盡量都先聲明局部變數

    基礎資料型別 (Elementary Data Type):(https://www.cnblogs.com/wupeiqi/articles/5602773.html) 

      數字

              1、數字(Number)

     JavaScript中不區分整數值和浮點數值,JavaScript中所有數字均用浮點數值表示。

        轉換:

      parseint()    將某值轉換為Int,數字,不成功則NaN

      parseFloat()   將某值轉換為float類型,不成功則NaN

        特殊值:

      NaN:非數字。可使用 isNaN(num) 來判斷。

      Infinity:無窮大。可使用 isFinite(num) 來判斷。

   寫JS代碼:

    - HTML檔案中編寫

    - 臨時,瀏覽器的終端,console

      字串 

    a = "alex"

    a.charAt(索引位置)

    a.substring(起始位置,結束位置)

    a.length  擷取當前字串的長度

    a.concat()    字串拼接  >:a = "alex";   >:a.concat("sb")    >:"alexsb"

    obj.indexof(substring,start)     擷取自序列的位置索引

    obj.lastIndexof(substring,start)    從後面擷取子序列位置

    obj.slice(start,end)      切片

   列表(數組)

    obj = [11,22,33,44]

    obj.length

    obl.push()                 尾部追加元素

    obj.pop()                  尾部擷取一個元素

    obj.unshift(ele)         頭部插入元素

    obj.shift()                  頭部移除元素

    obj.splice(start,deleteCount,value)插入,刪除或替換數組的元素

      obj.splice(n,0,val)    指定位置插入元素

      obj.splice(n,1,val)    指定位置替換元素

      obj.splice(n,1)          指定位置刪除元素

    obj.join(sep)                     將數組元素連結起來構建一個字串 >:obj=[11, 666, 999, 44],   >:obj.join("-")  >:"11-666-999-44"

    obj.concat(va1,va2....)                       串連數組

    obj.sort()                              排序

      字典

    obj = {"k1":"v1","k2":"v2"}

    obj["k1"]                                                   擷取字典裡面元素的值

 

dic = {"k1":"v1","k2":"v2"}{k1: "v1", k2: "v2"}dic{k1: "v1", k2: "v2"}typeof(dic)"object"for(var item in dic){console.log(item);}       #迴圈的只是鍵(即索引)VM4738:1 k1VM4738:1 k2

   布爾類型

    true

    false

 條件陳述式

   if(條件) {

    }else  if(條件)  else {} 

比較符號 含義
== 比較值相等
!= 不想等(值不想等)
=== 比較值和類型都相等
!=== 不等於
||
&&

    for迴圈

        1、迴圈時,迴圈的元素是索引

  a = [11,22,33,44]

  for(var item in a){

    console.log(item);

  }

  a = [11,22,33,44] 

  for(var item in a){

    console.log(a[item]);

  }

  for(var i=0;i<10;i++){}

        迴圈列表

  for(var i=0;i<a.length;i=i+1){}     迴圈列表的方法

 定時器:

  setInterval("要執行的代碼",時間間隔) -- 一直間隔執行

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body>    <script>        //建立一個定時器        //setInterval("alert(123);",5000);        //上面setInterval是設定一個定時器,沒5秒出現一個彈框        function f1(){            console.log("百度招人好牛逼,都把廣告弄到瀏覽器上面了,只有程式員才會開啟console這個瀏覽器的地方")        }        setInterval("f1();",2000)    </script></body></html>

    setInterval("string/function",時間),setInterval是設定間隔時間,執行前面的程式,string/函數,Interval是間隔

 alert()   在瀏覽器列印訊息

    console.log():在console處列印。

>:tag = document.getElementById("i1");                  #從網頁中所有HTML中尋找Id等於("i1")的標籤
>:content = tag.innerText #擷取標籤內部的內容

     函數

    function 函數名(參數1,參數2) {

  }

    Dom操作    (https://www.cnblogs.com/wupeiqi/articles/5643298.html)

      1、找到標籤

     document.getElementById("id值")              id是唯一的,在HTML中

     document.getElementsByTagName("div")        擷取多個元素,數組形式(列表)

     document.getElementsByClassName("c1")       擷取多個元素,通過class屬性的值(列表)

     a、直接尋找

方法 作用
document.getElementById 根據ID擷取一個標籤
document.getElementsByName 根據name屬性擷取標籤集合
document.getElementsByClassName  根據class屬性擷取標籤集合
document.getElementsByTagName  根據標籤名擷取標籤集合

     b、間接尋找              

擷取標籤 作用
parentElement //父親點標籤元素
children //所有子標籤
firstElementChild //第一個子標籤元素
lastElementChild //最後一個子標籤元素
nextElementSibling //下一個兄弟標籤元素
previousElementSibling //上一個兄弟標籤元素

 

擷取節點 作用
parentNode //父節點
childNodes //所有子節點
firstNode //第一個子節點
lastChild //最後一個子節點
nextSibling // 下一個兄弟節點
previousSibling //上一個兄弟節點

   2、操作標籤

    a.InnerText

     擷取標籤中的常值內容

     標籤.innerText

     對標籤內部的文本進行重新賦值

     標籤.innerText = ""

    b.className

     tag.className=》 直接整體做操作

     tag.classList           擷取class標籤集合

     tag.classList.add("樣式名")      添加指定樣式

     tag.classList.remove("樣式名")     刪除指定樣式

    ps:

      <div onclick="func();">點我</div>

      <script>

        function func(){

              }

      </script>

     下面HTML代碼是一個彈框點擊出現和消失的實現,如下:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        .hide{            display:none;        }        .c1{            position:fixed;            left:0;            top:0;            right:0;            bottom:0;            background-color:black;            opacity:0.6;            z-index:9;        }        .c2{            width:500px;            height:400px;            background-color:white;            position:fixed;            left:50%;            top:50%;            margin-left:-250px;            margin-top:-200px;            z-index:10;        }    </style></head><body style="margin:0;">    <div>        <input type="button" value="添加" onclick="showModel();"/>        <table>            <thead>                <tr>                    <th>                        主機名稱                    </th>                    <th>                        連接埠                    </th>                </tr>            </thead>            <tbody>                <tr>                    <td>1.1.1.1</td>                    <td>190</td>                </tr>                <tr>                    <td>1.1.1.2</td>                    <td>192</td>                </tr>                <tr>                    <td>1.1.1.3</td>                    <td>194</td>                </tr>            </tbody>        </table>    </div>    <!--遮罩曾開始-->    <div id="i1" class="c1 hide"></div>    <!-- 遮罩層結束 -->    <!-- 彈出框開始 -->    <div id="i2" class="c2 hide">        <p><input type="text" /></p>        <p><input type="text"/></p>        <p>            <input type="button" value="取消" onclick="hideModel();"/>            <input type="button" value="確定" />        </p>    </div>    <!-- 彈出框結束 -->    <script>        function showModel(){            document.getElementById("i1").classList.remove("hide")            document.getElementById("i2").classList.remove("hide")        }        function hideModel(){            document.getElementById("i1").classList.add('hide')            document.getElementById("i2").classList.add('hide')        }    </script></body></html>

    checkbox多選框裡面,checked選擇是true,未選擇是false,可以進行賦值,checked=true或者checked=false

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.