【JavaScript】重點記錄

以下內容均為個人學習筆記。

JavaScript 用法

HTML 中的腳本必須位于 <script> 與 </script> 標簽之間。
腳本可被放置在 HTML 頁面的 <body> 和 <head> 部分中。

提示:那些老舊的實例可能會在 <script> 標簽中使用 type="text/javascript"?,F(xiàn)在已經不必這樣做了。JavaScript 是所有現(xiàn)代瀏覽器以及 HTML5 中的默認腳本語言。

  • 您可以在 HTML 文檔中放入不限數(shù)量的腳本。
  • 腳本可位于 HTML 的 <body> 或 <head> 部分中,或者同時存在于兩個部分中。
  • 通常的做法是把函數(shù)放入 <head> 部分中,或者放在頁面底部。這樣就可以把它們安置到同一處位置,不會干擾頁面的內容。

提示:我們把 JavaScript 放到了頁面代碼的底部,這樣就可以確保在 <p> 元素創(chuàng)建之后再執(zhí)行腳本。

外部的 JavaScript
也可以把腳本保存到外部文件中。外部文件通常包含被多個網頁使用的代碼。
外部 JavaScript 文件的文件擴展名是 .js。
如需使用外部文件,請在 <script> 標簽的 "src" 屬性中設置該 .js 文件

提示:外部腳本不能包含 <script> 標簽。


JavaScript 輸出

JavaScript 沒有任何打印或者輸出的函數(shù)。
JavaScript 可以通過不同的方式來輸出數(shù)據(jù):

  • 使用 window.alert() 彈出警告框。
  • 使用 document.write() 方法將內容寫到 HTML 文檔中。
  • 使用 innerHTML 寫入到 HTML 元素。
  • 使用 console.log() 寫入到瀏覽器的控制臺。

提示:請使用 document.write() 僅僅向文檔輸出寫內容。如果在文檔已完成加載后執(zhí)行 document.write(),整個 HTML 頁面將被覆蓋。

提示:console.log() 方法能夠讓你看到你在頁面中的輸出內容,讓你更容易調試javascript;與alert相比,console不會打斷你頁面的操作,console里面的內容非常豐富,你可以在控制臺輸入 console。


JavaScript 語法

變量是一個名稱。字面量是一個值。

JavaScript 標識符

  • JavaScript 標識符必須以字母、下劃線(_)或美元符($)開始。
  • 后續(xù)的字符可以是字母、數(shù)字、下劃線或美元符(數(shù)字是不允許作為首字符出現(xiàn)的,以便 JavaScript 可以輕易區(qū)分開標識符和數(shù)字)。

JavaScript 數(shù)據(jù)類型
JavaScript 有多種數(shù)據(jù)類型:數(shù)字,字符串,數(shù)組,對象等等:

var length = 16;                                  // Number 通過數(shù)字字面量賦值
var points = x * 10;                              // Number 通過表達式字面量賦值
var lastName = "Johnson";                         // String 通過字符串字面量賦值
var cars = ["Saab", "Volvo", "BMW"];              // Array  通過數(shù)組字面量賦值
var person = {firstName:"John", lastName:"Doe"};  // Object 通過對象字面量賦值

JavaScript 對大小寫是敏感的。

JavaScript 字符集
JavaScript 使用 Unicode 字符集。
Unicode 覆蓋了所有的字符,包含標點等字符。

提示:JavaScript 中,常見的是駝峰法的命名規(guī)則,如 lastName (而不是lastname)。
提示:JavaScript 是腳本語言。瀏覽器會在讀取代碼時,逐行地執(zhí)行腳本代碼。而對于傳統(tǒng)編程來說,會在執(zhí)行前對所有代碼進行編譯。


JavaScript 語句

瀏覽器按照編寫順序依次執(zhí)行每條語句。

對代碼行進行折行
您可以在文本字符串中使用反斜杠對代碼行進行換行:

document.write("你好 \ W3Cschool!");

不過,您不能像這樣折行:

document.write \ ("你好W3Cschool!");

JavaScript 變量

  • 變量必須以字母開頭
  • 變量也能以 $ 和 _ 符號開頭(不過我們不推薦這么做)
  • 變量名稱對大小寫敏感(y 和 Y 是不同的變量)

提示:JavaScript 語句和 JavaScript 變量都對大小寫敏感。

在計算機程序中,經常會聲明無值的變量。未使用值來聲明的變量,其值實際上是 undefined。

如果重新聲明 JavaScript 變量,該變量的值不會丟失。

變量類型
作用域

JavaScript 數(shù)據(jù)類型

字符串(String)、數(shù)字(Number)、布爾(Boolean)、數(shù)組(Array)、對象(Object)、空(Null)、未定義(Undefined)。

JavaScript 擁有動態(tài)類型
JavaScript 擁有動態(tài)類型。這意味著相同的變量可用作不同的類型:

var x;               // x 為 undefined
var x = 5;           // 現(xiàn)在 x 為數(shù)字
var x = "John";      // 現(xiàn)在 x 為字符串

JavaScript 數(shù)組
下面的代碼創(chuàng)建名為 cars 的數(shù)組:

var cars = new Array();
cars[0] = "Saab";
cars[1] = "Volvo";
cars[2] = "BMW";

或者 (condensed array):

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

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

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

Undefined 和 Null
Undefined 這個值表示變量不含有值。
可以通過將變量的值設置為 null 來清空變量。

聲明變量類型
當您聲明新變量時,可以使用關鍵詞 "new" 來聲明其類型:

var carname = new String;
var x = new Number;
var y = new Boolean;
var cars = new Array;
var person = new Object;

提示:JavaScript 變量均為對象。當您聲明一個變量時,就創(chuàng)建了一個新的對象。
提示:JavaScript 具有隱含的全局概念,意味著你不聲明的任何變量都會成為一個全局對象屬性。

undefined 和 null
object

JavaScript 作用域

HTML 中的全局變量
在 HTML 中, 全局變量是 window 對象: 所有數(shù)據(jù)變量都屬于 window 對象。

提示:你的全局變量,或者函數(shù),可以覆蓋 window 對象的變量或者函數(shù)。
局部變量,包括 window 對象可以覆蓋全局變量和函數(shù)。

提示:在 ES6 中,提供了 let 關鍵字和 const 關鍵字。
let 的聲明方式與 var 相同,用 let 來代替 var 來聲明變量,就可以把變量限制在當前代碼塊中。
使用 const 聲明的是常量,其值一旦被設定便不可被更改。


JavaScript 字符串

通常, JavaScript 字符串是原始值,可以使用字符創(chuàng)建:var firstName = "John"
但我們也可以使用 new 關鍵字將字符串定義為一個對象:var firstName = new String("John")
提示:不要創(chuàng)建 String 對象。它會拖慢執(zhí)行速度,并可能產生其他副作用。

字符串屬性和方法

  • 原始值字符串,如 "John", 沒有屬性和方法(因為他們不是對象)。
  • 原始值可以使用 JavaScript 的屬性和方法,因為 JavaScript 在執(zhí)行方法和屬性時可以把原始值當作對象。

JavaScript 運算符

規(guī)則:如果把數(shù)字與字符串相加,結果將成為字符串!


JavaScript 類型轉換

JavaScript 類型轉換
Number() 轉換為數(shù)字, String() 轉換為字符串, Boolean() 轉化為布爾值。

JavaScript 數(shù)據(jù)類型
在 JavaScript 中有 5 種不同的數(shù)據(jù)類型:

  • string
  • number
  • boolean
  • object
  • function

3 種對象類型:

  • Object
  • Date
  • Array

2 個不包含任何值的數(shù)據(jù)類型:

  • null
  • undefined

注意

  • NaN 的數(shù)據(jù)類型是 number
  • 數(shù)組(Array)的數(shù)據(jù)類型是 object
  • 日期(Date)的數(shù)據(jù)類型為 object
  • null 的數(shù)據(jù)類型是 object
  • 未定義變量的數(shù)據(jù)類型為 undefined

如果對象是 JavaScript Array 或 JavaScript Date ,我們就無法通過 typeof 來判斷他們的類型,因為都是 返回 Object。


JavaScript 閉包

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();

add();
add();
add();

// 計數(shù)器為 3

提示:閉包是可訪問上一層函數(shù)作用域里變量的函數(shù),即便上一層函數(shù)已經關閉。


JavaScript Boolean 對象

如果布爾對象無初始值或者其值為:

  • 0
  • -0
  • null
  • ""
  • false
  • undefined
  • NaN

那么對象的值為 false。否則,其值為 true(即使當自變量為字符串 "false" 時)!

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

相關閱讀更多精彩內容

  • 概要 64學時 3.5學分 章節(jié)安排 電子商務網站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,851評論 0 3
  • 第1章 JavaScript 簡介 JavaScript 具備與瀏覽器窗口及其內容等幾乎所有方面交互的能力。 歐洲...
    力氣強閱讀 1,292評論 0 0
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,679評論 0 4
  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,716評論 0 5
  • 第一章 前端三大語言:HTML(專門編寫網頁內容)、CSS(編寫網頁樣式)、JS(專門編寫網頁交互行為) 能簡寫盡...
    fastwe閱讀 1,201評論 0 0

友情鏈接更多精彩內容