Javascript 一、泛講

一、介紹

一種客戶端語言,在瀏覽器執(zhí)行,原名叫ECMAScript。是一種直接就能解釋執(zhí)行的腳本語言(就是說,代碼執(zhí)行不進行預(yù)編譯),另外還有dos命令,SQL。它是非常靈活的動態(tài)語言,不嚴(yán)謹(jǐn)。數(shù)據(jù)類型不固定。用途很廣常被用來改進設(shè)計、驗證表單、檢測瀏覽器、創(chuàng)建cookies......

二、基本組成

Dom(文檔對象模型)
Bom(瀏覽器對象,有兼容性的問題)

三、如何實現(xiàn) JavaScript

1.方式一:
<script language = "javascript" type="text/javascript">
document.write("輸出的文字");
</script>

2.方式二:
<script src="helloworld.js"></script>

3.如何與老的瀏覽器打交道:
那些不支持 JavaScript 的瀏覽器會把腳本作為頁面的內(nèi)容來顯示。為了防止這種情況發(fā)生,我們可以使用這樣的 HTML 注釋標(biāo)簽:
<script type="text/javascript">
<!--
document.write("Hello World!");
//-->
</script>
注:釋行末尾的兩個正斜杠是 JavaScript 的注釋符號,它會阻止 JavaScript 編譯器對這一行的編譯。

四、 放置何處

當(dāng)頁面載入時,會執(zhí)行位于 body 部分的 JavaScript。
當(dāng)被調(diào)用時,位于 head 部分的 JavaScript 才會被執(zhí)行。
你可以在文檔中放置任何數(shù)量的腳本,因此你既可以把腳本放置到 body,又可以放置到 head 部分。
注意:在一個HTML文檔中,所有位置的腳本代碼,包括引入的外部js代碼,他們都將成為一個整體。你可以把他們想象成在一個類中。因此,有時來自不同文件的重名方法或重名變量,會導(dǎo)致意想不到的錯誤發(fā)生。

五、語法

JavaScript 是由瀏覽器執(zhí)行的語句序列。這些命令的作用是告訴瀏覽器要做的事情。通常要在每行語句的結(jié)尾加上一個分號。

1.數(shù)據(jù)類型

5 種基本數(shù)據(jù)類型?

undefined / null / boolean / number / string

1種復(fù)雜的數(shù)據(jù)類型 : Object類型,Object類型是所有其他對象的基類。

注意:JavaScript并不區(qū)分浮點數(shù)和整數(shù),都是用number來表示。

2.基本操作符

算術(shù)運算符:+? –? *? /? %? ++? --? ,其中+號還被重載用于拼接字符串,另外,任何類型+上字符串都是字符串。

賦值運算符:=? +=? -=? *=? /=? %=

比較運算符:==? ===? !=? >? <? >=? <=

邏輯運算符:&&? ||? !

條件運算符:? :

3.控制語句

這就是我們常說的if-else之類的控制語句。

常用的并不多:if語句、switch語句、for語句、while語句、for-in語句。

4.函數(shù)

將腳本編寫為函數(shù),就可以避免頁面載入時執(zhí)行該腳本。函數(shù)包含著一些代碼,這些代碼只能被事件激活,或者在函數(shù)被調(diào)用時才會執(zhí)行。你可以在頁面中的任何位置調(diào)用腳本(如果函數(shù)嵌入一個外部的 .js 文件,那么甚至可以從其他的頁面中調(diào)用)。建議將函數(shù)在頁面起始位置定義,即? 部分。JavaScript函數(shù)相對其他語言來說有很大不同。JavaScript函數(shù)既可以作為參數(shù),也可以作為返回值。此外JavaScript函數(shù)可以接受任意數(shù)量的參數(shù),并且可以通過arguments對象來訪問這些參數(shù)。
創(chuàng)建函數(shù)的語法:

function 函數(shù)名() { 代碼... }

function 函數(shù)名(var1,var2,...,varX) { 代碼... }

5.變量

JavaScript 是一種弱類型的語言,因此變量的類型由賦值號右邊的數(shù)據(jù)所決定。

JavaScript 變量名稱的規(guī)則:

應(yīng)該起一些具有意義的,描述性的,讓人望文生義的變量名
變量對大小寫敏感(y 和 Y 是兩個不同的變量)【JavaScript 對大小寫敏感】
變量必須以字母或下劃線開始
變量名不能使用系統(tǒng)的關(guān)鍵字或保留字

類型分為兩種:基本類型和引用類型

基本類型:是前面提到的5種基本數(shù)據(jù)類型,在內(nèi)存中占據(jù)實際大小的空間,賦值的時候,會在內(nèi)存中創(chuàng)建一份新的副本。保存在棧內(nèi)存中。?

引用類型:是前面提到的Object以及基于它的其他復(fù)雜數(shù)據(jù)類型,指向?qū)ο蟮闹羔樁皇菍ο蟊旧?,賦值的時候,只是創(chuàng)建了一個新的指針指向?qū)ο?。保存在堆?nèi)存中。

JavaScript 變量的生存期

當(dāng)在函數(shù)內(nèi)聲明了一個變量后,就只能在該函數(shù)中訪問該變量。當(dāng)退出該函數(shù)后,這個變量會被撤銷。這種變量稱為本地變量。你可以在不同的函數(shù)中使用名稱相同的本地變量,這是因為只有聲明過變量的函數(shù)能夠識別其中的每個變量。

如果您在函數(shù)之外聲明了一個變量,則頁面上的所有函數(shù)都可以訪問該變量。這些變量的生存期從聲明它們之后開始,在頁面關(guān)閉時結(jié)束。

6. 消息框

三種消息框:警告框、確認(rèn)框、提示框

alert("文本");警告框經(jīng)常用于確保用戶可以得到某些信息。當(dāng)警告框出現(xiàn)后,用戶需要點擊確定按鈕才能繼續(xù)進行操作。

confirm("文本");確認(rèn)框用于使用戶可以驗證或者接受某些信息。當(dāng)確認(rèn)框出現(xiàn)后,用戶需要點擊確定或者取消按鈕才能繼續(xù)進行操作。如果用戶點擊確認(rèn),那么返回值為 true。如果用戶點擊取消,那么返回值為 false。

prompt("文本","默認(rèn)值");提示框經(jīng)常用于提示用戶在進入頁面前輸入某個值。當(dāng)提示框出現(xiàn)后,用戶需要輸入某個值,然后點擊確認(rèn)或取消按鈕才能繼續(xù)操縱。如果用戶點擊確認(rèn),那么返回值為輸入的值。如果用戶點擊取消,那么返回值為 null。

7. 事件

事件是可以被 JavaScript 偵測到的行為。JavaScript 使我們有能力創(chuàng)建動態(tài)頁面。事件是可以被 JavaScript 偵測到的行為。網(wǎng)頁中的每個元素都可以產(chǎn)生某些可以觸發(fā) JavaScript 函數(shù)的事件。比方說,我們可以在用戶點擊某按鈕時產(chǎn)生一個 onClick 事件來觸發(fā)某個函數(shù)。事件在 HTML 頁面中定義。

事件舉例:
鼠標(biāo)點擊
頁面或圖像載入
鼠標(biāo)懸浮于頁面的某個熱點之上
在表單中選取輸入框
確認(rèn)表單
鍵盤按鍵
注意:事件通常與函數(shù)配合使用,當(dāng)事件發(fā)生時函數(shù)才會執(zhí)行。

onload 和 onUnload
當(dāng)用戶進入或離開頁面時就會觸發(fā) onload 和 onUnload 事件。onload 事件常用來檢測訪問者的瀏覽器類型和版本,然后根據(jù)這些信息載入特定版本的網(wǎng)頁。onload 和 onUnload 事件也常被用來處理用戶進入或離開頁面時所建立的 cookies。例如,當(dāng)某用戶第一次進入頁面時,你可以使用消息框來詢問用戶的姓名。姓名會保存在 cookie 中。當(dāng)用戶再次進入這個頁面時,你可以使用另一個消息框來和這個用戶打招呼:"Welcome John Doe!"。

onFocus, onBlur 和 onChange
通常相互配合用來驗證表單。下面是一個使用 onChange 事件的例子。用戶一旦改變了域的內(nèi)容,checkEmail() 函數(shù)就會被調(diào)用。

onSubmit
用于在提交表單之前驗證所有的表單域。

onMouseOver 和 onMouseOut
用來創(chuàng)建“動態(tài)的”按鈕。

8.try...catch語句

有兩種在網(wǎng)頁中捕獲錯誤的方法:
使用 try...catch 語句。(在 IE5+、Mozilla 1.0、和 Netscape 6 中可用)
使用 onerror 事件。這是用于捕獲錯誤的老式方法。(Netscape 3 以后的版本可用)
注意:chrome、opera 和 safari 瀏覽器不支持 onerror 事件。【不建議使用此方式】

9.Throw 聲明

throw 聲明的作用是創(chuàng)建 exception(異常)。你可以把這個聲明與 try...catch 聲明配合使用,以達到控制程序流并產(chǎn)生精確錯誤消息的目的。

10.特殊字符

?JavaScript 中使用反斜杠來向文本字符串添加特殊字符。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • JS簡介 外部JavaScript中文件的文件擴展名為.js,如果使用外部文件,那么標(biāo)簽需要設(shè)置它的src屬性為文...
    Grape_葡萄閱讀 1,029評論 1 6
  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock閱讀 3,475評論 2 36
  • 朋友我當(dāng)你一秒朋友 朋友我當(dāng)你一世朋友 奇怪過去再不堪回首 懷緬時時其實還有 朋友你試過將我營救 朋友你試過把我批...
    若是不見閱讀 260評論 0 0
  • 阿狗瘦了,再見到他時,已經(jīng)是五六年之后,瘦的脫了“人形”。 阿狗是我大學(xué)室友,本身自然不叫阿狗,剛開始阿狗...
    張菽染閱讀 632評論 2 5

友情鏈接更多精彩內(nèi)容