一、JavaScript 概述:
1、JavaScript是運行在瀏覽器上的腳本語言。簡稱JS。
JavaScript是網景公司(NetScape)的 布蘭登艾奇(JavaScript之父)開發的,最初叫做LiveScript。
LiveScript的出現讓瀏覽器更加的生動了,不再是單純的靜態頁面了。頁面更具有交互性。
在歷史的某個階段,SUN公司和網景公司他們之間有合作關系,SUN公司把LiveScript的名字修改為JavaScript。
JavaScript這個名字中雖然帶有“Java”但是和Java沒有任何關系,只是語法上優點類似。他們運行的位置不同,
Java運行在JVM當中,JavaScript運行在瀏覽器的內存當中。
2、JavaScript程序不需要我們程序員手動編譯,編寫完源代碼之后,瀏覽器直接打開解釋執行。
JavaScript的“目標程序”以普通文本形式保存,這種語言都叫做“腳本語言”。
Java的目標程序已.class形式存在,不能使用文本編輯器打開,不是腳本語言。
3、網景公司1998年被美國在線收購。網景公司最著名的就是領航者瀏覽器:Navigator瀏覽器。
LiveScript的出現,最初的時候是為Navigator瀏覽器量身定制一門語言,不支持其他瀏覽器。當Navigator瀏覽器使用非常廣泛的時候,微軟害怕了,於是微軟在最短的時間內組建了一個團隊,開始研發只支持IE瀏覽器的腳本語言,叫做JScript。
JavaScript和JScript並存的年代,程序員是很痛苦的,因為程序員要寫兩套程序。在這種情況下,有一個非營利性組織站出來了,叫做ECMA組織(歐洲計算機協會)ECMA根據JavaScript制定了ECMA-262號標准,叫做ECMA-Script。現代的javascript和jscript都實現了ECMA-Script規范。(javascript和jscript統一了)
二、在HTML中怎么嵌入JavaScript代碼?
HTML中嵌入JS代碼的第一種方式:
<!doctype html>
<html>
<head>
<title>HTML中嵌入JS代碼的第一種方式</title>
</head>
<body>
<!--
1、要實現的功能:
用戶點擊以下按鈕,彈出消息框。
2、JS是一門事件驅動型的編程語言,依靠事件去驅動,然后執行對應的程序。
在JS中有很多事件,其中有一個事件叫做:鼠標單擊,單詞:click。並且任何
事件都會對應一個事件句柄叫做:onclick。【注意:事件和事件句柄的區別是:
事件句柄是在事件單詞前添加一個on。】,而事件句柄是以HTML標簽的屬性存在
的。
3、onclick="js代碼",執行原理是什么?
頁面打開的時候,js代碼並不會執行,只是把這段JS代碼注冊到按鈕的click事件上了。
等這個按鈕發生click事件之后,注冊在onclick后面的js代碼會被瀏覽器自動調用。
4、怎么使用JS代碼彈出消息框?
在JS中有一個內置的對象叫做window,全部小寫,可以直接拿來使用,window代表的是瀏覽器對象。
window對象有一個函數叫做:alert,用法是:window.alert("消息");這樣就可以彈窗了。
5、JS中的字符串可以使用雙引號,也可以使用單引號。
6、JS中的一條語句結束之后可以使用分號“;”,也可以不用。
-->
<input type="button" value="hello" onclick="window.alert('hello one')"/>
<input type="button" value="hello" onclick="window.alert('hello one')
window.alert('hello two')
window.alert('hello three')"/>
<!-- window. 可以省略。-->
<input type="button" value="hello" onclick="alert('hello 1')
alert('hello 2')
alert('hello 3')"/>
</body>
</html>
HTML中嵌入JS代碼的第二種方式:
<!--
javascript的腳本塊在一個頁面當中可以出現多次。沒有要求。
javascript的腳本塊出現位置也沒有要求,隨意。
-->
<script type="text/javascript">
// alert有阻塞當前頁面加載的作用。(阻擋,直到用戶點擊確定按鈕。)
window.alert("first.......");
</script>
<!doctype html>
<html>
<head>
<title>HTML中嵌入JS代碼的第二種方式</title>
<script type="text/javascript">
window.alert("head............");
</script>
</head>
<body>
<input type="button" value="我是一個按鈕對象1" />
<!--第二種方式:腳本塊的方式-->
<script type="text/javascript">
/*
暴露在腳本塊當中的程序,在頁面打開的時候執行,並且遵守自上而下的順序依次逐行執行。(這個代碼的執行不需要事件)
*/
window.alert("Hello World!"); // alert函數會阻塞整個HTML頁面的加載。
// JS代碼的注釋,這是單行注釋。
/*
JS代碼的多行注釋。和java一樣。
*/
window.alert("Hello JavaScript!");
</script>
<input type="button" value="我是一個按鈕對象" />
</body>
</html>
<script type="text/javascript">
window.alert("last.......");
</script>
HTML中嵌入JS代碼的第三種方式:(引入外部獨立的js文件)
JS代碼:
//這里的代碼記得保存,否則就算導入此js文件的html運行時出現異常也不會有提示
window.alert("giao");
window.alert("giao");
window.alert("giao");
window.alert("最后的giao!");
HTML代碼:
<!doctype html>
<html>
<head>
<title>HTML中嵌入JS代碼的第三種方式:引入外部獨立的js文件。</title>
</head>
<body>
<!--
在需要的位置引入js腳本文件
引入外部獨立的js文件的時候,js文件中的代碼會遵循自上而下的順序依次逐行執行。
<script type="text/javascript" src="js/1.js"></script>
同一個js文件可以被引入多次。但實際開發中這種需求很少。
<script type="text/javascript" src="js/1.js"></script>
-->
<script type="text/javascript" src="js/1.js">
//這里寫的代碼不會執行。
window.alert("Test");
</script>
<script type="text/javascript">
alert("hello jack!");
</script>
</body>
</html>