JavaScript入門

來源:互聯網
上載者:User

標籤:獨立   動態效果   white   物件模型   函數   png   row   post   click   

概述:

  JavaScirpt是一種指令碼語言,是一種直譯試指令碼語言,是一種基於對象的指令碼語言,是一種動態類型,弱類型,基於原型的語言,主要用於網頁編程

一、什麼是JavaScript:

  JavaScript是一種屬於網路的指令碼語言,已經被廣泛的用於Web應用開發,常用來為網頁添加各式各樣的動態功能,為使用者提供更流暢美觀的瀏覽效果。通常JavaScript指令碼是嵌入在HTML中來實現自身的功能的。

二、JavaScript的優勢

  1、動態寫入HTML輸出

    使用這個方法可以動態在頁面中添加新的元素

    執行個體:動態在網頁輸出當前日期時間

  JavaScript代碼:

document.write("<p><b>時間:<b><font color=‘red‘>" + new Date().toLocaleString() + "</font></p>");

  2、對事件作出反應

    使用事件讓頁面與使用者有更好的互動性,根據使用者的操作做出不同的響應。

    執行個體:單擊網頁中的按鈕時,彈出提示對話方塊

  HMTL代碼:

<button type="button"onclick="alert(‘你好‘)">點擊這裡</button>

  3、改變HTML內容

    使用JavaScript來處理HTML內容是非常強大的功能。

    執行個體:根據頁面中的HTML元素的id名,擷取頁面元素並改變該元素的內容

  HTML代碼:

    <div id="demo">你還沒有許可權查看內容</div>    <input id="btn" type="button" value="先睹為快" />

  JavaScript代碼:

document.getElementById("btn").onclick = function () {    var ss = document.getElementById("demo");//尋找元素    ss.innerHTML = "正在建設中ing.....";//改變內容}

  4、改變HTML映像(標籤屬性)

    使用者可以根據需要選擇不同的映像,常用於圖片動態切換中

  HTML代碼:

    <img id="image" src="img1.png" />    <input id="btn1" type="button" value="下一張"/>

  JavaScript代碼:

document.getElementById("btn1").onclick = function () {    var ele = document.getElementById("image");//尋找元素    ele.src = "img1.png";//改變引用的圖片檔案    this.disabled = true;//禁用按鈕}

  5、改變HTML樣式

    常用於改變HTML元素的樣式,曾強使用者體驗

  執行個體:當滑鼠移動到當前行時,高亮度顯示

  HTML代碼:

    <ul>        <li class="list">測試1</li>        <li class="list">測試2</li>        <li class="list">測試3</li>        <li class="list">測試4</li>    </ul>

  JavaScript代碼:

    var rows = document.getElementsByClassName("list");    for (i = 0; i < rows.length; i++) {        rows[i].onmouseover = function () { this.style.backgroundColor = ‘gray‘; }        rows[i].onmouseout = function () { this.style.backgroundColor = ‘white‘; }    }

  6、驗證輸入

    JavaScript常用於驗證使用者的輸入

  樣本:當使用者輸入手機號並離開次對話方塊判斷是否是有效電話號碼

  HTML代碼:

<input id="phoneNumber" onblur="" type="text" />

  JavaScript代碼:

doucument.getElementById("phoneNumber").onblur = function () {    var num = this.value;    if(isNaN(num)||num.length!=11){alert("不是手機號碼");}}

 總之:JavaScript是用戶端指令碼語言,讓頁面羽使用者更加有互動性,涉及動態效果,增加使用者體驗。

  

三、JavaScript實現基礎

  JavaScript指令碼如何來實現自己想要實現的效果?首先必須瞭解JavaScript的基礎文法

    JavaScript指令碼是基於對象的操作。可以分為是三部分  

      ECMAScript核心:為不同的宿主環境提供核心的指令碼能力。

    ECMAScript規定了能適應於各種宿主環境的指令碼核心文法規則,關於ECMAScript語言,ECMA-262描述如下:

      ECMAScript可以為不同種類的宿主環境提供核心的指令碼編程能力,因此核心的指令碼語言是與任何特定的宿主換件分開進行規定的

      ECMAScript僅僅是個人描述,定義了指令碼語言所有的對象、屬性和方法,其主要描述了以下內容

      £:文法

      £:資料類型

      £:關鍵字

      £:保留字

      £:運算子

      £:對象

      £:語句

      ECMAScript標準定義了JavaScript指令碼中最為核心的內容,是JavaScript指令碼的骨架,有了骨架,就可以在其上進行擴充,典型的擴充如DOM(文件物件模型)和BOM(瀏覽器物件模型)等。

    DOM(文件物件模型):規定了訪問HTML和XML的應用程式介面。

    DOM定義了JavaScript可以進行操作的文檔的各個功能組件的介面,提供訪問文檔各個功能組件(如:document、form、textarea等)的途徑以及操作方法。

    樣本:    

 <a  id="demo" href="#">顯示當前日期時間</a>    <span id="date"></span>    <script>        document.getElementById("demo").onclick = function () {            //在id為"date"的頁面元素中顯示當前日期時間文本            document.getElementById("date").innerText = new date.toLocaleString();            //阻止預設瀏覽器動作(W3C)            if (e && e.preventDefault) {                e.preventDefault();            } else {                //IE中阻止函數器預設動作的方式                window.event.returnValue = false;            }            return false;        }    </script>

 

    BOM(瀏覽器物件模型):提供了獨立於內容而在瀏覽器視窗之間進行互動的對象和方法。

    BOM定義了JavaScript可以進行操作的瀏覽器的個個功能組件的介面,提供訪問文檔的各個功能組件(如視窗本身、螢幕功能組件、瀏覽歷程記錄等)的途徑以及操作方法。

    通常情況下瀏覽器特定的JavaScript擴充都被看做BOM的一部分,主要包括:

    £:關閉、行動瀏覽器及調整瀏覽器視窗的大小;

        £:彈出新的瀏覽器視窗;

    £:提供瀏覽器的詳細資料的定位對象;

    £:提供載入到瀏覽器視窗的文檔詳細資料的定位對象;

    £:提供使用者螢幕解析度詳細資料的螢幕對象;

    £:提供cookie的支援;

        £:加入ActiveXObject類擴充BOM,通過JavaScript執行個體化ActionX對象;

BOM有一些事實上的標準,如視窗對象、導航對象等,但每種瀏覽器都為這些對象定義或擴充屬性及方法。

  執行個體:

 

<a href="JavaScript:window.close();">關閉視窗</a>

 

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.