一、定義
javascript是一門用來增強頁面動態效果,實現頁面與使用者之間的即時、動態互動的腳本語言(解釋型程式語言)。 javascript由三個部分組成:ECMA、DOM和BOM
[1]ECMAScript由ECMA-262定義,提供核心語言功能(ECMA是歐洲電腦製造商協會)
[2]DOM文件物件模型,提供存取和操作網頁內容的方法的介面
[3]BOM瀏覽器物件模型,提供與瀏覽器互動的方法的介面
二、引入
引入javascript有兩種辦法:在頁面內嵌入js程式碼和引入外部檔案
[1]頁內嵌入
<script> alert("My First JavaScript"); </script>
[2]引入外部js檔案
[注意]帶有src屬性的<script>元素不應該在其<script>標籤之間再包含額外的js程式碼,如果包含了嵌入的程式碼,則只會下載並執行外部腳本,而忽略嵌入的程式碼</p>
<div class="jb51code">
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;">
<script src="myScript.js"></script>
</pre><div class="contentsignin">登入後複製</div></div>
</div>
<p><span style="color: #800000"><strong><script></strong></span><br />
</p>
<p>無論哪種引進方法,都需要利用<script>標籤。 <script>標籤共用6個屬性,其中language屬性已經廢棄</p>
<p> [1]src:表示包含要執行程式碼的外部文件,該文件可以跨域</p>
<p> [2]charset:可選,表示透過src屬性指定的程式碼的字元集,大多數瀏覽器會忽略</p>
<p> [3]defer:可選,表示腳本可以延遲到文件完全被解析和顯示之後再執行,只對外部腳本有效</p>
<p> [4]async:可選,表示應該立即下載腳本,但不妨礙頁面的其他操作。只對外部腳本有效</p>
<p> [5]type:可選,是language的替代屬性,表示編寫程式碼所使用的腳本語言的內容類型,也稱為MIME類型。考慮到相容,一般還是text/javascript,若不指定,預設值也是text/javascript</p>
<p> [6]language:已廢棄 </p>
<p><span style="color: #800000"><strong>async和defer</strong></span></p>
<p>[1]如果async和defer都不設置,瀏覽器會立即載入並執行指定的腳本</p>
<p><script src="test.js"></script>
[2]如果只設定async,瀏覽器會非同步下載腳本,不阻塞頁面的其他動作
[注意]非同步腳本一定會在頁面的load事件前執行
[3]如果只設定defer,腳本會被延遲到文件完全被解析和顯示後再執行
註解
註解可以提高程式碼可讀性,幫助自己和別人閱讀和理解Javascript程式碼,註解的內容不會在網頁中顯示,分為單行註解和多行註解兩種
//单行注释 /* 多行注释 */
忽略空格
JavaScript會忽略多餘的空格,可以為腳本添加空格,來提高其可讀性
//以下写法均正确 var name="hello"; var name ="hello"; var name = "hello";
程式碼折行
可以在文字字串中使用反斜線對程式碼行進行換行
//正确 document.write("Hello \ World!"); //错误 document.write \ ("Hello World!");
大小寫敏感
JavaScript的變數、函數名稱和運算元都區分大小寫。函數getElementById與getElementbyID不同,同樣,變數myVariable與MyVariable也是不同的
保留字和關鍵字
ECMA-262描述了一組具有特定用途的關鍵字,這些關鍵字用於表示控制語句的開始或結束,或用於執行特定操作等;ECMA-262也描述了另外一組不能用作標識符的保留字,它們將來有可能成為關鍵字。
//第5版在非严格模式下的保留字 Class | enum | extends | super | const | export | import //第5版在严格模式下的保留字 Implements | package | public | interface | private | static | let* | protected | yield*