JavaScript入門教程

2021-01-11 崬梧

起源

javascript前身叫做livescript,sun公司推出java,netspace公司引進java的概念,重新設計livescript,並更名javascript。發明者,布蘭登.艾克,表單驗證原先要經過伺服器,伺服器壓力大,等待時間長,js僅在客戶端就可完成。

是什麼

是一種腳本語言,是一種輕量級的程式語言。JavaScript可插入 HTML 頁面的編程代碼,由所有的瀏覽器執行,從服務端被下載到客戶端由瀏覽器執行。

作用

1、表單驗證

2、頁面特效

3、動態調整頁面

組成

1、核心語法(ECMAScript)

2、瀏覽器對象模型(BOM)

1) 是什麼

Browser Object Model,瀏覽器對象模型:由一系列對象組成,是訪問、控制、修改瀏覽器屬性的方法.

2) 結構圖

BOM結構圖

3) 內容簡介

window

BOM使javascript有能力與瀏覽器進行溝通,這個溝通從window對象開始,所有的window對象的屬性和方法自動成為javascript的全局變量和全局函數。可直接使用。

history

包含用戶訪問過的URL,最初設計表示瀏覽歷史,出於隱私,不允許js訪問已經訪問過的實際URL。仍保持back(),forwore(),go()等方法。

location

包含當前頁面的URL信息,可重載當前頁面或裝入新頁面

document

一個比較特殊的對象,它既是瀏覽器對象模型BOM中的一個對象,同時表示文檔對象模型DOM中整個HTML文檔。

3、文檔對象模型(DOM)

1)是什麼

文檔對象模型:由一系列對象組成,是訪問、控制、修改HTML文檔的標準方法。通過可編程的對象模型,JavaScript 獲得了足夠的能力來創建動態的 HTML。BOM是一個與語言無關,與平臺無關的標準接口規範。將HTML 文檔解析成樹結構。

2)結構圖

DOM結構圖

3)內容簡介

節點:

在DOM (文檔對象模型)中,每個部分都是節點:

文檔節點:文檔本身

元素節點:所有 HTML 元素

屬性節點:所有 HTML 屬性

文本節點:HTML 元素內的文本

注釋節點:注釋

element.appendChild() 向元素添加新的子節點,作為最後一個子節點。

element.removeChild() 從元素中移除子節點。

element.replaceChild() 替換元素中的子節點。

element.insertBefore() 在指定的已有的子節點之前插入新節點。

getElementById() 返回對擁有指定 id 的第一個對象的引用。

getElementsByName() 返回帶有指定名稱的對象集合。

getElementsByTagName() 返回帶有指定標籤名的對象集合。

創建方式

1、外部js文件

將JS代碼寫入後綴名為.JS的外部文件中,只寫腳本代碼,不用寫<SCRIPT>標籤。html頁面引入。

js文件內容:

alert("哈哈!「);

HTML引入內容:

<script src="JS外部文件。js"> <!--js腳本代碼> </script>

適用於:代碼量較大。或者再多個頁面中共享

2、<script>標籤

<script>

function demo(a){

alert(a)

}

</script>

<button onclick="demo('點我幹嘛!')">點我</button>

適用於:代碼較少,較少重複使用

3、HTML標籤內

<input type="button" value="js" onclick="javascript:alert('我是JS腳本代碼')"/>

<input type="button" value="js" onclick="alert('我是JS腳本代碼')"/>

適用於:特別簡短的JS 代碼

數據類型

數值number

整數或小數

實例

var x1=34.00; //使用小數點來寫

var x2=34; //不使用小數點來寫

數組array

實例

var cars=new Array();

cars[0]="Saab";

cars[1]="Volvo";

cars[2]="BMW";

var cars=new Array("Saab","Volvo","BMW");

var cars=["Saab","Volvo","BMW"];

布爾

true 或 false

實例

var x=true;

var y=false;

字符串string

字符串是存儲字符(比如 "Bill Gates")的變量。

字符串可以是引號中的任意文本。您可以使用單引號或雙引號:

實例

var carname="Volvo XC60";

var carname='Volvo XC60';

對象object

對象由花括號分隔。

在括號內部,對象的屬性以名稱和值對的形式 (name : value) 來定義。

屬性由逗號分隔:

實例

var person={firstname:"John", lastname:"Doe", id:5566};

對象屬性有兩種尋址方式:

name=person.lastname;

name=person["lastname"];

undefined

保留字,已申明變量,沒有賦值。

null

定義空或不存在的引用。

不等與 空字符串 或 0

undefined:這個值表示變量不含有值。可以通過將變量的值設置為 null 來清空變量。判斷數據類型(typeof)var height=180;

document.write("height的類型為:"+typeof(height));

函數

作用

使程序結構清晰,封裝多條語句,代碼復用,便於維護。

結構

關鍵字聲明function,參數,函數體。

注意

函數定義時不必指定返回值。任何函數任何時候可通過return語句實現返回值。除return語句外,無任何聲明也能表示返回值。函數執行完return立即退出,return之後的語句永遠不會執行。一個函數可以多個return。return可以不帶返回值,會返回undefined。//1.函數定義時不必指定返回值。

functiona(num1,num2){

alert(num1+num2);

}

a(1,2);

//2.任何函數任何時候可通過return語句實現返回值。

functionb(num1,num2){

returnnum1+num2;

}

alert (b(1,3));

//3.除return語句外,無任何聲明也能表示返回值

functionc(num1,num2){

returnnum1+num2;

}

varresult=c(1,4);

alert(result);

//4.函數執行完return立即退出,return之後的語句永遠不會執行

functiond(num1,num2){

returnnum1+num2;

//return後面的語句永遠不會執行

alert(num1+num2);

}

alert(d(1,5));

//5.一個 函數可以多個return

functione(num1,num2){

if(num1>num2){

returnnum1-num2;

}

else{

returnnum2-num1;

}

}

alert(e(1,2));

alert(e(3,1));

//6.return可以不帶返回值,會返回undefined

functionf(num1,num2){

return;

}

alert(f(1,6));

輸出

1、針對用戶的

alert()

<button onclick="alert('我是alert方式的彈框!')">alert</button>

alert

confirm()

<button onclick="confirm('我是confirm方式的彈框!')">confirm</button>

confirm

prompt()

兩個參數,一個提示信息,一個默認值。

<button onclick="prompt('我是prompt方式的彈框1',6)">confirm</button>

prompt

2、針對HTML文檔元素

.innerHTML

雙向功能:獲取對象的內容 或 向對象插入內容;

<script>

//獲取對象的內容

function gets(){

alert(document.getElementById("innerHtml").innerHTML);

}

//向對象插入內容

function puts() {

document.getElementById("innerHtml").innerHTML = "i am not here";

}

</script>

<body>

<p id="innerHtml">i am here</p>

<button onclick="gets()">innerHtmlGets</button>

<button onclick="puts()">innerHtmlPuts</button>

</body>

.write

<script>

function myFunction() {

document.write(Date());

}

</script>

<button onclick="document.write(Date());">document.write</button>

該方法僅僅向文檔輸出寫內容,如果在文檔已完成加載後執行 document.write,整個 HTML 頁面將被覆蓋。

document.write

3、控制臺

console.log()

瀏覽器支持調試,可以在瀏覽器中顯示 JavaScript 值。瀏覽器中使用 F12 來啟用調試模式,在調試窗口中點擊 "Console" 菜單。

c = 5+6;

console.log(c);

注釋

//我不會執行

/* 我不會執行 */

相關焦點

  • javascript在自動化測試項目中的應用「軟體測試開發入門教程」
    比如說我今天分享的主題是javascript在自動化測試中的應用有些朋友說我之前講的自動化測試的東西,需要消化很久,有一定的難度,意思就是說我動不動就講測試框架,測試開發是不是會有這樣的感覺?比如今天分享的javascript,大家做軟體測試有沒有用過?
  • 七天學會javascript第一天javascript介紹
    前幾周寫了幾篇關於入門php的文章,反響還不錯,之前簡單的提到了JavaScript,這周小編重點介紹JavaScript讓大家可以在一周時間內掌握這門前端語言的基本用法。javascript介紹javascript數據類型javascript運算符javascript對象javascript Date對象javascript String對象JavaScript常用於實現一些前端效果。前些年流行的flash已經慢慢的被淘汰,js盛行起來。javascript :客戶端編程。javascript是由客戶端去解釋運行的。
  • Mathematica數學入門教程【6】 - 幾何圖形
  • PyTorch 深度學習官方入門中文教程 pdf 下載|PyTorchChina
    官方教程包含了 PyTorch 介紹,安裝教程;60分鐘快速入門教程,可以迅速從小白階段完成一個分類器模型;計算機視覺常用模型,方便基於自己的數據進行調整,不再需要從頭開始寫;自然語言處理模型,聊天機器人,文本生成等生動有趣的項目。
  • AutoCAD2021工作界面3功能區cad自學入門教程
    AutoCAD2021工作界面3功能區cad自學入門教程 2020-11-18 16
  • CAD製圖初學入門教程之CAD轉PDF
    但是很多CAD製圖初學入門者對此並不了解,所以今天就來給大家分享一下浩辰CAD看圖王電腦版中CAD轉PDF的CAD製圖初學入門教程吧!以上就是浩辰CAD看圖王電腦版中CAD轉PDF的詳細操作步驟,大家在以後的繪圖工作中如果遇到需要將CAD圖紙轉換成PDF格式文件的時候可以參考本篇CAD製圖初學入門教程來解決哦!還不明白的小夥伴可以給我留言哦~關注我get更多CAD入門學習小技巧!
  • CAD製圖初學入門教程
    那麼今天的CAD製圖初學入門教程,就來教大家怎麼標註CAD尺寸。如果你想了解更多實用的CAD製圖初學入門教程,記得關注我哦。
  • 透視畫法入門教程
    什麼是兩點透視?什麼是兩點透視?透視畫法入門教程!好了,以上就是本期的分享了,看完就趕緊拿起筆畫吧!本期教程部分圖片來源網絡,如有侵權請聯繫刪除。那麼本期關於透視畫法的分享就到這裡了,我們下期見!
  • 日語學習教程:日語零基礎入門教學,日語學習到底怎麼開始學
    日語學習教程:日語零基礎入門教學,日語學習到底怎麼開始學 2020-11-26 17
  • AutoCAD2021練習圖1第2講, cad新手自學入門教程
    AutoCAD2021練習圖1第2講, cad新手自學入門教程 2020-11-29
  • 動態二維碼製作新手入門教程
    剛給大家分享了一篇創意二維碼製作教程,今天再給大家分享一篇動態二維碼制製作的新手入門教程,算是上一篇二維碼製作教程的輔助篇。
  • 原畫|繪畫透視入門教程
    藝學繪小編收集整理了繪畫透視入門教程[透視]「透視投影」是最廣為人知的透視。越遠,它變得越小,並且被繪製為好像消失在地平線上的「消失點」。簡而言之,透視圖繪製方法是一種可以通過選擇消失點並根據在此聚集的線對其進行繪製來表達空間的深度和透視圖的方法。
  • Keras入門系列教程:兩分鐘構建你的第一個神經網絡模型
    本教程由深度學習中文社區(Studydl.com)持續發布與更新, 本系列其餘教程地址見文章末尾.引言Keras是一個用於構建和訓練深度學習模型的高級API, 後端計算主要使用TensorFlow或者Theano, 由於Theano已停止開發新功能轉入維護階段, 而且目前最新版的TensorFlow已經包含了Keras模塊, 所以本教程採用基於TensorFlow的Keras進行講解, TensorFlow版本1.4.1
  • 電腦主板維修,從入門到精通,這樣的教程你是否喜歡呢
    大家好,我是你們的蚯蚓叔叔,蚯蚓電腦,有很多粉絲朋友在後臺跟我留言:能否出一套電腦主板維修的相關教程,通過幾個月的慎重考慮,我決定從零基礎到入門再到精通,而且免費的奉獻給大家;那麼就從今天這篇文章開始:
  • Python零基礎入門教程,如何使用函數?
    Python零基礎入門教程,流程控制有哪些?
  • Python 繪圖庫 Matplotlib 入門教程
    本文是對它的一個入門教程。運行環境由於這是一個Python語言的軟體包,因此需要你的機器上首先安裝好Python語言的環境。關於這一點,請自行在網絡上搜索獲取方法。關於如何安裝Matplotlib請參見這裡:Matplotlib Installing。
  • 無人機操作入門教程:想好學美國手還是日本手了嗎?
    在網上搜索操作教程卻都是副翼、升降舵等較為專業的名詞,下面環球網無人機頻道梳理一篇簡單的入門教程,也希望「老司機」們可以多多留言發表些人生經驗。②最近興起的多旋翼航拍圈更認可美國手,大疆、小米等多款消費級無人機也都是默認美國手,大多認為美國手更容易入門。③淘寶上的玩具直升機、玩具潛艇都是美國手,飛日本手只能買更貴的小航模。④日本手、與美國手操作習慣不同、技巧也不通用,弄混容易出危險。⑤決定前應該考慮的是身邊一起玩的朋友飛哪種手,這樣可以更合群or防止別人碰自己的寶貝飛機。
  • cad製圖初學入門免費教程視頻!300套行業素材模板直接套用送你
    cad製圖初學入門免費教程視頻 ,這裡送你。各行業AutoCAD素材無水印下載直接套用!先來個300套基礎素材圖模板分享給你,更多的素材,CAD每日一圖可以找得到,具體的圖紙演示效果如下:一、餐廳室內裝潢設計圖、視頻講解非常適合室內裝潢設計新手使用的教程是哦,帶有詳細的步驟操作解說,包括餐廳設計的平面圖,地面裝飾,屋頂平面效果圖這裡都是有的。
  • 南方CASS教程附下載
    CAD\南方CASS教程\4、CASS初學者入門視頻教程\17、54轉80坐標教程2.aviCAD\南方CASS教程\4、CASS初學者入門視頻教程\18、cass2008土方計算視頻學習(1).exeCAD\南方CASS教程\4、CASS初學者入門視頻教程\18
  • CAD製圖初學入門教程
    今天的CAD製圖初學入門教程就來具體地為你演示操作方法,記得認真做好筆記哦,期末會考!那麼,以上就是今天CAD製圖初學入門教程的全部內容了,感謝您的閱讀!