java複習前端篇——JavaScript

來源:互聯網
上載者:User

標籤:建立   arguments   按鈕   .property   return   多少   運算   而且   click   

1.JS的概述:
     什麼是JS:運行在瀏覽器端指令碼語言,基於對象和事件驅動的語言,應用於用戶端,瀏覽器會在讀取代碼時,逐行地執行指令碼代碼。而對於傳統編程來說,會在執行前對所有代碼進行編譯。
     JS的用途:使用JS提升使用者的體驗.使HTML動起來.

2.JS的引入方式:

   (1):頁面內直接編寫JS代碼,JS代碼需要使用<script></script>.
   (2):將JS的代碼編寫到一個.js的檔案中,在HTML中引入該JS代碼即可.
    <script  type="text/javascript"  src="../js/check.js"> //這裡面不寫東西</script>。外部指令碼不能包含 <script> 標籤。

 

3.JS的組成:

   (1) ECMAScript:JS的核心
    基本文法
        與 Java 一樣,變數、函數名、運算子以及其他一切東西都是區分大小寫。
            比如:變數 test 與變數 TEST 是不同的
        弱類型語言,可以任意改變變數的類型,變數是弱類型的與 Java 和 C 不同,ECMAScript 中的變數無特定的類型,定義變數時只用 var 運算子,可以將它初始化為任意值。因此,可以隨時改變變數所存資料的類型(盡量避免這樣做)。

例子
var color = "red";
var num = 25;
var visible = true;

        行代碼結束可不加分號,就預設為換行,建議加上分號,最好的代碼編寫習慣是總加入分號,因為沒有分號,有些瀏覽器就不能正確運行,不過根據 ECMAScript 標準,下面兩行代碼都是正確的:

var test1 = "red"
var test2 = "blue";

        變數名可以包含數字,但是不能以數字開頭
        注釋
            單行注釋    :    以雙斜杠開頭(//)
            多行注釋    :    以單斜杠和星號開頭(/*),以星號和單斜杠結尾(*/)


    js運算子:
        一元運算子:++ --  與Java一致
        邏輯運算子:&& || !or
        算術運算子:+ - * / % 運算
            + 特點 :做的是拼接操作
            - 特點 : 先把值轉換成數值後再進行減法運算,轉換後不是數值相減會出現NaN
        關係運算子:
            >   <      >=    <=    ==    !=
            == 和 ===的區別,前者比較的是數值,後者不僅比較值而且還比較資料類型
        三元運算子
            值?運算式1:運算式1
            如果值為true,整個運算式取運算式1的值,如果值為false,整個運算式取運算式2值。
        賦值運算子
            *=、+=、-=、/=、%=
            以上賦值運算子與java中操作一樣
        逗號運算子
            var a=1, b=2;
            逗號運算子可以在一條語句中執行多個運算
    聲明變數
        var關鍵字
            var i = 10;
            var i =  "wangbadan";
            var i = true;
            var i = null;
            ......


    js流程式控制制語句:
        if條件
            格式 :if(條件){語句}else{語句}
            在java中if語句後面的條件必須是true/false值,而在javascript 中我們描述true/false有多種方式,所以要注意與java中的區別
        switch語句
        While與do-while
        for迴圈


    js類型
        原始類型
            string:字元及字串都看做為字元類型
            number:數實值型別
            boolean:邏輯類型
            null
            undefined:變數未初始化


        參考型別:
            物件類型.物件類型預設值是null.
        類型判斷:
            typeof()


        類型轉換:
            toString():轉傳成字串
            parseInt(值):轉換成數字類型
            parseFloat(值):轉換成浮點類型
            Boolean(值):值轉換成Boolean類型
            Number(值):值轉換成Number類型

 

 

  (2)DOM:Document Object Model   文件物件模型
    DOM:就是將文檔載入到記憶體,形成樹形結構, 從而操作樹形結構就可以改變HTML的樣子.
    Document :文檔對象.代表的是載入到記憶體中的整個的文檔.
    Element :元素對象.代表文檔中的每個元素(標籤)
    Attribute:屬性對象.代表元素上的屬性.
    Document,Element,Attribute統稱為Node(節點)


    DOM基本操作:1.擷取元素:
            document.getElementById()     通過ID獲得元素
            document.getElementsByName()    通過name屬性獲得元素
            document.getElementsByTagName();    通過標籤名獲得元素


          2.建立元素:
            document.createElement();  建立元素
                    var para=document.createElement("p");


              document.createTextNode();   建立文本節點
                    var node=document.createTextNode("這是新段落。");


              3.添加元素:
            element.appendChild(); 在最後添加一個節點
            element.insertBefore();  在某個元素之前插入一個節點
        4.  刪除元素:
            element.removeChild();  如需刪除 HTML 元素,您必須首先獲得該元素的父元素:
                    var parent=document.getElementById("div1");
      var child=document.getElementById("p1");
      parent.removeChild(child);


                如果能夠在不引用父元素的情況下刪除某個元素,就太好了。不過很遺憾。DOM 需要清楚您需要刪除的元素,以及它的父元素。這是常用的解決方案:找到您希望刪除的子項目,然後使用其 parentNode 屬性來找到父元素:
                    var child=document.getElementById("p1");
      child.parentNode.removeChild(child);


          5.修改元素:
            elementNode.setAttribute(name,value)
                參數 描述
                    name 必需。規定要設定的屬性名稱。
                    value 必需。規定要設定的屬性值。
                說明:  該方法把指定的屬性設定為指定的值。如果不存在具有指定名稱的屬性,該方法將建立一個新屬性。


         6. 改變 HTML
            改變 HTML 內容:document.getElementById(id).innerHTML=new HTML
            改變 HTML 屬性:document.getElementById(id).attribute=new value


          7.改變 CSS
            document.getElementById(id).style.property=new style


         8. 事件
              對 HTML 事件做出反應
                onclick=JavaScript
                    <h1 onclick="this.innerHTML=‘謝謝!‘">請點擊該文本</h1>
                    <h1 onclick="changetext(this)">請點擊該文本</h1>


            HTML 事件屬性
                向 button 元素分配 onclick 事件:
                    <button onclick="displayDate()">點擊這裡</button>


            使用 HTML DOM 來分配事件
                向 button 元素分配 onclick 事件:
                    <script>
       document.getElementById("myBtn").onclick=function(){displayDate()};
</script>

 

    (3)BOM:Browser Object Model  瀏覽器物件模型 (BOM) 使 JavaScript 有能力與瀏覽器“對話”。

Window:視窗對象
    alert();     顯示帶有一段訊息和一個確認按鈕的警告框      alert("文本")
    confirm();    彈出一個確認對話方塊   confirm("文本")
    open();     開啟一個新視窗
    prompt();    顯示可提示使用者輸入的對話方塊     prompt("文本","預設值")


    設定定時的方法
        * setInterval(); :每隔多少毫秒執行某個運算式.     * setInterval(“change()”,5000);
        * setTimeout(); :隔多少毫秒執行一個該運算式.    * setTimeout(“change()”,5000);
    清除定時的方法 clearInterval();
           (1) clearInterval(id_of_setinterval)
                var int=self.setInterval("clock()",50)
                window.clearInterval(int);
         (2)clearTimeout();
            clearTimeout(setTimeout_variable)
                 t=setTimeout("timedCount()",1000)
                clearTimeout(t)
Navigator:瀏覽器對象
Screen:螢幕對象
History:曆史對象   go();   載入history 列表中的某個具體頁面
Location:路徑對象    href:   設定或者返回完整的URL

 

4.JS函數的定義和建立:

  建立
    function 函數名(參數){
函數體;
}
//預設傳回值為true。
* window.onload = function(){

}
    var 函數名 = new Function(參數(函數體))
    var 函數名 = function(參數) {
函數體
}
js函數參數問題: 參數無資料類型,調用時不用按照方法裡的參數規定來
js函數傳回值問題:
  (1) 如果有傳回值可以用return
       (2)有傳回值不用聲明傳回值類型
            註:沒有方法重載,可以用arguments類比
       (3) 如果沒有傳回值就返回undefined

java複習前端篇——JavaScript

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.