【前端】01 - JavaScript基礎(chǔ)(1)

1. 編程語言

1.1 編程:

  1. 就是讓計算機(jī)為解決某個問題而使用某種程序設(shè)計語言編寫程序代碼,并最終得到結(jié)果的過程。

1.2 計算機(jī)程序:

  1. 就是計算機(jī)所執(zhí)行的一系列的指令集合,而程序全部都是用我們所掌握的語言來編寫的,所以人們要控制計算機(jī)一定要通過計算機(jī)語言向計算機(jī)發(fā)出命令。

1.3 計算機(jī)語言

  1. 計算機(jī)語言指用于人與計算機(jī)之間通訊的語言,它是人與計算機(jī)之間傳遞信息的媒介。

  2. 計算機(jī)語言的種類非常的多,總的來說可以分成機(jī)器語言,匯編語言和高級語言三大類。

  3. 實(shí)際上計算機(jī)最終所執(zhí)行的都是 機(jī)器語言,它是由“0”“1” 組成的二進(jìn)制數(shù),二進(jìn)制是計算機(jī)語言的基礎(chǔ)。

    機(jī)器語言

1.4 編程語言

 編程語言:
    可以通過類似于人類語言的“語言”來控制計算機(jī),讓計算機(jī)為我們做事情,這樣的語言就叫做編程語言
(Programming Language)。編程語言是用來控制計算機(jī)的一系列指令,它有固定的格式和詞匯(不同編程
語言的格式和詞匯不一樣),必須遵守。如今通用的編程語言有兩種形式:匯編語言和高級語言。
語 言 類 型 說明
匯編語言 匯編語言和機(jī)器語言實(shí)質(zhì)是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標(biāo)識符,容易識別和記憶。
高級語言 高級語言主要是相對于低級語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,常用的有C 語言、C++、JavaC#、Python、PHP、JavaScript、Go語言、Objective-C、Swift 等。
輸出語句

1.5 翻譯器

    高級語言所編制的程序不能直接被計算機(jī)識別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行,為此,我們需要一個翻譯
翻譯器可以將我們所編寫的源代碼轉(zhuǎn)換為機(jī)器語言,這也被稱為二進(jìn)制化。
翻譯器

1.6 編程語言和標(biāo)記語言區(qū)別

語言 說明
編程語言 編程語言有很強(qiáng)的邏輯和行為能力。在編程語言里, 你會看到很多if elsefor 、while等具有邏輯性和行為能力的指令,這是主動的。
標(biāo)記語言 標(biāo)記語言(html)不用于向計算機(jī)發(fā)出指令,常用于格式化和鏈接。標(biāo)記語言的存在是用來被讀取的, 他是被動的。

1.7 總結(jié)

  1. 計算機(jī)可以幫助人類解決某些問題。

  2. 程序員利用編程語言編寫程序發(fā)出指令控制計算機(jī)來實(shí)現(xiàn)這些任務(wù)。

  3. 編程語言有機(jī)器語言、匯編語言、高級語言。

  4. 高級語言需要一個翻譯器轉(zhuǎn)換為計算機(jī)識別的機(jī)器語言。

  5. 編程語言是主動的有很強(qiáng)的邏輯性。

2. 計算機(jī)基礎(chǔ)

2.1 計算機(jī)組成

計算機(jī)
計算機(jī)組成

2.2 數(shù)據(jù)存儲

  1. 計算機(jī)內(nèi)部使用二進(jìn)制 0 和 1來表示數(shù)據(jù)。

  2. 所有數(shù)據(jù),包括文件、圖片等最終都是以二進(jìn)制數(shù)據(jù)(0 和 1)的形式存放在硬盤中的。

  3. 所有程序,包括操作系統(tǒng),本質(zhì)都是各種數(shù)據(jù),也以二進(jìn)制數(shù)據(jù)的形式存放在硬盤中。平時我們所說的安裝軟件,其實(shí)就是把程序文件復(fù)制到硬盤中。

  4. 硬盤、內(nèi)存都是保存的二進(jìn)制數(shù)據(jù)。

2.3 數(shù)據(jù)存儲單位

 大小關(guān)系:bit < byte < kb < GB < TB<.....
  1. 位(bit): 1bit 可以保存一個 0 或者 1 (最小的存儲單位).
  2. 字節(jié)(Byte):1B = 8b .
  3. 千字節(jié)(KB):1KB = 1024B .
  4. 兆字節(jié)(MB):1MB = 1024KB .
  5. 吉字節(jié)(GB): 1GB = 1024MB .
  6. 太字節(jié)(TB): 1TB = 1024GB .

2.4 程序運(yùn)行

程序運(yùn)行過程
計算機(jī)運(yùn)行軟件的過程:
1. 打開某個程序時,先從硬盤中把程序的代碼加載到內(nèi)存中
2. CPU執(zhí)行內(nèi)存中的代碼
   注意:之所以要內(nèi)存的一個重要原因,是因為 cpu運(yùn)行太快了,如果只從硬盤中讀數(shù)據(jù),會浪費(fèi)cpu性能,
所以,才使用存取速度更快的內(nèi)存來保存運(yùn)行時的數(shù)據(jù)。(內(nèi)存是電,硬盤是機(jī)械)

3. 初始 JavaScript

3.1 JavaScript 是什么?

`JavaScript ` 是什么?
  1. JavaScript 是世界上最流行的語言之一,是一種運(yùn)行在客戶端的腳本語言 (Script 是腳本的意思)。

  2. 腳本語言:不需要編譯,運(yùn)行過程中由js 解釋器(js 引擎)逐行來進(jìn)行解釋并執(zhí)行。

  3. 現(xiàn)在也可以基于Node.js 技術(shù)進(jìn)行服務(wù)器端編程。

圖片8.png

3.2 JavaScript 的作用

  1. 表單動態(tài)校驗(密碼強(qiáng)度檢測) ( JS 產(chǎn)生最初的目的 )。

  2. 網(wǎng)頁特效。

  3. 服務(wù)端開發(fā)(Node.js)。

  4. 桌面程序(Electron)。

  5. App(Cordova)

  6. 控制硬件-物聯(lián)網(wǎng)(Ruff)。

  7. 游戲開發(fā)(cocos2d-js)。

3.3 HTML/CSS/JS 的關(guān)系

HTML/CSS/JS 的關(guān)系

3.4 瀏覽器執(zhí)行 JS 簡介

  1. 瀏覽器分成兩部分:渲染引擎和 JS 引擎
渲染引擎和JS引擎
    瀏覽器本身并不會執(zhí)行JS代碼,而是通過內(nèi)置 JavaScript 引擎(解釋器) 來執(zhí)行 JS 代碼 。JS 引擎執(zhí)行代碼時
逐行解釋每一句源碼(轉(zhuǎn)換為機(jī)器語言),然后由計算機(jī)去執(zhí)行,所以 JavaScript 語言歸為腳本語言,會逐
行解釋執(zhí)行。
JavaScript引擎
  1. JSV8 引擎。V8在運(yùn)行之前將JavaScript編譯成了機(jī)器代碼,而非字節(jié)碼或是解釋執(zhí)行它,以此提升性能。更進(jìn)一步,使用了如內(nèi)聯(lián)緩存(inline caching)等方法來提高性能。有了這些功能,JavaScript程序與V8引擎的速度媲美二進(jìn)制編譯。

3.5 JS 的組成

JS組成

3.5.1 ECMAScript

  1. ECMAScript 是由ECMA 國際( 原歐洲計算機(jī)制造商協(xié)會)進(jìn)行標(biāo)準(zhǔn)化的一門編程語言,這種語言在萬維網(wǎng)上應(yīng)用廣泛,它往往被稱為 JavaScriptJScript ,但實(shí)際上后兩者是ECMAScript 語言的實(shí)現(xiàn)和擴(kuò)展。
`ECMAScript ` 是由`ECMA ` 國際( 原歐洲計算機(jī)制造商協(xié)會)進(jìn)行標(biāo)準(zhǔn)化的一門編程語言
  1. ECMAScript :規(guī)定了 JS 的編程語法和基礎(chǔ)核心知識,是所有瀏覽器廠商共同遵守的一套JS語法工業(yè)標(biāo)準(zhǔn)。

3.5.2 DOM - 文檔對象模型

  1. 文檔對象模型(DocumentObject Model,簡稱DOM ,是W3C組織推薦的處理可擴(kuò)展標(biāo)記語言的標(biāo)準(zhǔn)編程接口。通過 DOM 提供的接口可以對頁面上的各種元素進(jìn)行操作(大小、位置、顏色等)。

3.5.3 BOM-瀏覽器對象模型

  1. 瀏覽器對象模型(Browser Object Model,簡稱BOM) 是指瀏覽器對象模型,它提供了獨(dú)立于內(nèi)容的、可以與瀏覽器窗口進(jìn)行互動的對象結(jié)構(gòu)。通過BOM可以操作瀏覽器窗口,比如彈出框、控制瀏覽器跳轉(zhuǎn)、獲取分辨率等。

3.6 JS 初體驗

JS 有3種書寫位置,分別為行內(nèi)、內(nèi)嵌和外部。

3.6.1 行內(nèi)式

  <input type="button" value="點(diǎn)我試試" onclick="alert('Hello World')" />
  1. 可以將單行或少量 JS 代碼寫在 HTML 標(biāo)簽的事件屬性中(以 on 開頭的屬性),如:onclick 。

  2. 注意單雙引號的使用:在 HTML 中我們推薦使用雙引號, JS 中我們推薦使用單引號。

  3. 可讀性差, 在 html 中編寫 JS 大量代碼時,不方便閱讀。

  4. 引號易錯,引號多層嵌套匹配時,非常容易弄混。

  5. 特殊情況下使用。

3.6.2 內(nèi)嵌式

<script>
    alert('Hello  World~!');
</script>
  1. 可以將多行JS代碼寫到 script 標(biāo)簽中。

  2. 內(nèi)嵌 JS 是學(xué)習(xí)時常用的方式。

3.6.3 外部 JS 文件

<script src="my.js"></script>
  1. 利于HTML頁面代碼結(jié)構(gòu)化,把大段 JS代碼獨(dú)立到 HTML 頁面之外,既美觀,也方便文件級別的復(fù)用。

2.引用外部 JS文件的 script 標(biāo)簽中間不可以寫代碼。

  1. 適合于JS 代碼量比較大的情況。

4. JavaScript 輸入輸出語句

  1. 為了方便信息的輸入輸出,JS 中提供了一些輸入輸出語句,其常用的語句如下:
方法 說明 歸屬
alert(msg) 瀏覽器彈出警示框 瀏覽器
console.log(msg) 瀏覽器控制臺打印輸出信息 瀏覽器
prompt(info) 瀏覽器彈出輸入框,用戶可以輸入 瀏覽器
  1. 注意:alert() 主要用來顯示消息給用戶,console.log() 用來給程序員自己看運(yùn)行時的消息。

5. 變量

5.1 什么是變量?

  1. 白話:變量就是一個裝東西的盒子。

  2. 通俗:變量是用于存放數(shù)據(jù)的容器。 我們通過 變量名 獲取數(shù)據(jù),甚至數(shù)據(jù)可以修改。

5.2 變量在內(nèi)存中的存儲

  1. 本質(zhì):變量是程序在內(nèi)存中申請的一塊用來存放數(shù)據(jù)的空間。類似我們酒店的房間,一個房間就可以看做是一個變量。
變量在內(nèi)存中的存儲

5.3 變量命名規(guī)范

  1. 由字母(A-Za-z)、數(shù)字(0-9)、下劃線(_)、美元符號( $ )組成,如:usrAge, num01, _name。

  2. 嚴(yán)格區(qū)分大小寫。var app ; 和 var App ; 是兩個變量。

  3. 不能 以數(shù)字開頭。 18age 是錯誤的。

  4. 不能 是關(guān)鍵字、保留字。例如:varfor 、while 。

  5. 變量名必須有意義。 MMD BBD nlage

  6. 遵守駝峰命名法。首字母小寫,后面單詞的首字母需要大寫。myFirstName。

5.4 變量的使用

  1. 變量的聲明 。

  2. 變量的賦值 。

5.4.1 聲明變量

//  聲明變量  
var age; //  聲明一個 名稱為age 的變量     
  1. var 是一個 JS 關(guān)鍵字,用來聲明變量(variable 變量的意思 )。使用該關(guān)鍵字聲明變量后,計算機(jī)會自動為變量分配內(nèi)存空間,不需要程序員管。

  2. age 是程序員定義的變量名,我們要通過變量名來訪問內(nèi)存中分配的空間。

5.4.2 賦值

age = 10; // 給 age  這個變量賦值為 10        
  1. = 用來把右邊的值賦給左邊的變量空間中 此處代表賦值的意思。

  2. 變量值是程序員保存到變量空間里的值。

5.4.3 變量的初始化

var age  = 18;  // 聲明變量同時賦值為 18
// 聲明一個變量并賦值, 我們稱之為變量的初始化。

5.4.4 變量語法擴(kuò)展

  1. 更新變量 :一個變量被重新復(fù)賦值后,它原有的值就會被覆蓋,變量值將以最后一次賦的值為準(zhǔn)。
var age = 18;

age = 81;   // 最后的結(jié)果就是81因為18 被覆蓋掉了 
  1. 同時聲明多個變量:同時聲明多個變量時,只需要寫一個 var, 多個變量名之間使用英文逗號隔開。
var age = 10,  name = 'zs', sex = 2;   
  1. 聲明變量特殊情況:
情況 說明 結(jié)果
var age ; console.log (age); 只聲明 不賦值 undefined
console.log(age) 不聲明 不賦值 直接使用 報錯
age = 10; console.log (age); 不聲明 只賦值 10

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

6.1 數(shù)據(jù)類型簡介

6.1.1 為什么需要數(shù)據(jù)類型

  1. 在計算機(jī)中,不同的數(shù)據(jù)所需占用的存儲空間是不同的,為了便于把數(shù)據(jù)分成所需內(nèi)存大小不同的數(shù)據(jù),充分利用存儲空間,于是定義了不同的數(shù)據(jù)類型。

  2. 簡單來說,數(shù)據(jù)類型就是數(shù)據(jù)的類別型號。比如姓名“張三”,年齡18,這些數(shù)據(jù)的類型是不一樣的。

6.1.2 變量的數(shù)據(jù)類型

  1. 變量是用來存儲值的所在處,它們有名字和數(shù)據(jù)類型。變量的數(shù)據(jù)類型決定了如何將代表這些值的位存儲到計算機(jī)的內(nèi)存中。JavaScript 是一種弱類型或者說動態(tài)語言。這意味著不用提前聲明變量的類型,在程序運(yùn)行過程中,類型會被自動確定。
  var age = 10;        // 這是一個數(shù)字型
  var areYouOk = '是的';   // 這是一個字符串   
  1. 在代碼運(yùn)行時,變量的數(shù)據(jù)類型是由 JS引擎 根據(jù) = 右邊變量值的數(shù)據(jù)類型來判斷 的,運(yùn)行完畢之后, 變量就確定了數(shù)據(jù)類型。JavaScript 擁有動態(tài)類型,同時也意味著相同的變量可用作不同的類型:
  var x = 6;           // x 為數(shù)字
  var x = "Bill";      // x 為字符串    

6.2 數(shù)據(jù)類型的分類

  1. 簡單數(shù)據(jù)類型 和 復(fù)雜數(shù)據(jù)類型;

6.2.1 簡單數(shù)據(jù)類型 (Number ,String , Boolean ,Undefined , Null

  1. JavaScript 中的簡單數(shù)據(jù)類型及其說明如下:
    JavaScript中的簡單數(shù)據(jù)類型
數(shù)字型 Number : JavaScript 數(shù)字類型既可以保存整數(shù),也可以保存小數(shù)(浮點(diǎn)數(shù))。
var age = 21;       // 整數(shù)
var Age = 21.3747;  // 小數(shù)   
  1. 數(shù)字型進(jìn)制 :最常見的進(jìn)制有二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。
  // 1.八進(jìn)制數(shù)字序列范圍:0~7
 var num1 = 07;   // 對應(yīng)十進(jìn)制的7
 var num2 = 019;  // 對應(yīng)十進(jìn)制的19
 var num3 = 08;   // 對應(yīng)十進(jìn)制的8
  // 2.十六進(jìn)制數(shù)字序列范圍:0~9以及A~F
 var num = 0xA;  
  1. 現(xiàn)階段我們只需要記住,在 JS 中八進(jìn)制前面加 0 ,十六進(jìn)制前面加 0x。

  2. 數(shù)字型范圍:JavaScript 中數(shù)值的最大和最小值

最大值:Number.MAX_VALUE ,這個值為: 1.7976931348623157e+308
最小值:Number.MIN_VALUE ,這個值為:5e-32

  1. 數(shù)字型三個特殊值:
  • Infinity ,代表無窮大,大于任何數(shù)值。

  • Infinity ,代表無窮小,小于任何數(shù)值。

  • NaN ,Not a number ,代表一個非數(shù)值。

  1. isNaN
  • 用來判斷一個變量是否為非數(shù)字的類型,返回 true 或者 false 。
isNaN
 <script>
    // isNaN() 這個方法是用來判斷非數(shù)字 ,并且返回一個值
    console.log(isNaN(2)); // 是非數(shù)字嗎? false
    console.log(isNaN('xxx')); // 是非數(shù)字嗎? true
  </script>
字符串型 String 字符串型可以是引號中的任意文本,其語法為 雙引號 "" 和 單引號''。
var strMsg = "我愛北京天安門~";  // 使用雙引號表示字符串
var strMsg2 = '我愛吃豬蹄~';    // 使用單引號表示字符串
// 常見錯誤
var strMsg3 = 我愛大肘子;       // 報錯,沒使用引號,會被認(rèn)為是js代碼,但js沒有這些語法
  1. 因為 HTML 標(biāo)簽里面的屬性使用的是雙引號,JS 這里我們更推薦使用單引號。

  2. 字符串引號嵌套: JS 可以用單引號嵌套雙引號 ,或者用雙引號嵌套單引號 (外雙內(nèi)單,外單內(nèi)雙)

  3. 字符串轉(zhuǎn)義符,類似HTML里面的特殊字符,字符串中也有特殊字符,我們稱之為轉(zhuǎn)義符。轉(zhuǎn)義符都是 \ 開頭的,常用的轉(zhuǎn)義符及其說明如下:

轉(zhuǎn)義符 解釋說明
\n 換行符,n 是 newline 的意思
\ \ 斜杠 \
' ' 單引號
" ”雙引號
\t tab 縮進(jìn)
\b 空格 ,b 是 blank 的意思
  1. 字符串長度:字符串是由若干字符組成的,這些字符的數(shù)量就是字符串的長度。通過字符串的length 屬性可以獲取整個字符串的長度。
   <script>
      var str = '12 34 56 78 9';
      console.log(str.length);
  </script>
  1. 字符串拼接: 多個字符串之間可以使用 + 進(jìn)行拼接,其拼接方式為 字符串 + 任何類型 = 拼接之后的新字符串,拼接前會把與字符串相加的任何類型轉(zhuǎn)成字符串,再拼接成一個新的字符串。
//1.1 字符串 "相加"
alert('hello' + ' ' + 'world'); // hello world
//1.2 數(shù)值字符串 "相加"
alert('100' + '100'); // 100100
//1.3 數(shù)值字符串 + 數(shù)值
alert('11' + 12);     // 1112 
  • + 號總結(jié)口訣:數(shù)值相加 ,字符相連。
  1. 字符串拼接加強(qiáng)
console.log('pink老師' + 18);        // 只要有字符就會相連 
var age = 18;
console.log('pink老師age歲啦');      // 這樣不行哦
console.log('pink老師' + age);         // pink老師18
console.log('pink老師' + age + '歲啦'); // pink老師18歲啦
  • 經(jīng)常會將字符串和變量來拼接,變量可以很方便地修改里面的值
  • 變量是不能添加引號的,因為加引號的變量會變成字符串
  • 如果變量兩側(cè)都有字符串拼接,口訣“引引加加 ”,刪掉數(shù)字,變量寫加中間
布爾型 Boolean
  1. 布爾類型有兩個值:truefalse ,其中 true 表示真(對),而 false 表示假(錯)。

  2. 布爾型和數(shù)字型相加的時候, true 的值為 1 ,false 的值為0

console.log(true + 1);  // 2
console.log(false + 1); // 1
UndefinedNull
  1. 一個聲明后沒有被賦值的變量會有一個默認(rèn)值undefined ( 如果進(jìn)行相連或者相加時,注意結(jié)果)
ar variable;
console.log(variable);           // undefined
console.log('你好' + variable);  // 你好undefined
console.log(11 + variable);     // NaN
console.log(true + variable);   //  NaN
  1. 一個聲明變量給 null 值,里面存的值為空(學(xué)習(xí)對象時,我們繼續(xù)研究null)
var vari = null;
console.log('你好' + vari);  // 你好null
console.log(11 + vari);     // 11
console.log(true + vari);   //  1

6.2.2 復(fù)雜數(shù)據(jù)類型 ( object )

6.2.3 簡單數(shù)據(jù)類型 Boolean

1.Boolean類型true1 false0;

<script>
  // Boolean 類型是 true = 1 和 false = 0
  var b = true; // 1
  var f = false; // 0
  console.log(b + 1); // 2
  console.log(f + 1); // 1
</script>

6.2.4 簡單數(shù)據(jù)類型Undefine

  1. 如果一個變量聲明后未給值,就是Undefined。

  2. 獲取直接聲明一個變量 , 賦值為 Undefined。

  3. Undefinde和 數(shù)字相加最后的結(jié)果是 NaN

6.2.5 簡單數(shù)據(jù)類型 NULL。

<script>
  var a;
  console.log(a); // 只聲明未賦值,輸出是 undefined
  // 字符串和 undefined 相加
  console.log('str' + a); // strundefine
  // 數(shù)字和 undefined 相加
  console.log(11 + a); // NaN
  // 一個聲明的變量給 null 值里面是一個空值
  var vari = null;
  // 字符串和 null 相加
  console.log('str' + vari);
  // 數(shù)字和null相加
  console.log(11 + vari);
  // Boolean和null相加
  console.log(vari + true);
</script>

6.3 獲取變量數(shù)據(jù)類型

  1. 獲取檢測變量的數(shù)據(jù)類型。typeof 可用來獲取檢測變量的數(shù)據(jù)類型。
 <script>
    var num = 10;
    var str = 'string';
    var flag = true;
    var unVar = undefined
    var timer = null;
    console.log(typeof num);
    console.log(typeof str);
    console.log(typeof flag);
    console.log(typeof unVar);
    console.log(typeof timer); // object
  </script>
圖片16.png
  1. 字面量 : 字面量是在源代碼中一個固定值的表示法,通俗來說,就是字面量表示如何表達(dá)這個值。
  • 數(shù)字字面量:8, 9, 10

  • 字符串字面量:'黑馬程序員', "大前端"

  • 布爾字面量:true,false

6.4 數(shù)據(jù)類型轉(zhuǎn)換

6.4.1 什么是數(shù)據(jù)類型轉(zhuǎn)換?

  1. 使用表單、prompt 獲取過來的數(shù)據(jù)默認(rèn)是字符串類型的,此時就不能直接簡單的進(jìn)行加法運(yùn)算,而需要轉(zhuǎn)換變量的數(shù)據(jù)類型。通俗來說,就是把一種數(shù)據(jù)類型的變量轉(zhuǎn)換成另一種數(shù)據(jù)類型,通常會實(shí)現(xiàn)3種方式的轉(zhuǎn)換:
  • 轉(zhuǎn)換為字符串類型。
  • 轉(zhuǎn)換為數(shù)字型。
  • 轉(zhuǎn)換為布爾型。
轉(zhuǎn)換為字符串類型
轉(zhuǎn)換為字符串類型的三種方式
  1. 使用 toString進(jìn)行轉(zhuǎn)換 :
<script>
  var num = 10;
  var str = num.toString();
  console.log(str, typeof str);
</script>
  1. 使用String(args)方法進(jìn)行轉(zhuǎn)換:
<script>
  var num = 10;
  var str = String(num);
  console.log(str);
  console.log(typeof str);
</script>
  1. 使用加字符串的方式:
<script>
  var num = 12;
  var str = 12 + '';
  console.log(str);
  console.log(typeof str)
</script>
轉(zhuǎn)換為數(shù)字型(重點(diǎn))
轉(zhuǎn)換為數(shù)字型
  1. 使用parseInt() 轉(zhuǎn)換為數(shù)字類型:
<script>
  var age = prompt("請輸入您的年齡");
  console.log(age); // '12'
  console.log(parseInt(age)); // 12
  console.log(parseInt('3.14')); // 3 向下取整
  console.log(parseInt('9.94')); // 9 向下取整
  console.log(parseInt('120px')); // 120
  console.log(parseInt('rem120px')); // NaN Not a Number
</script>
  1. 使用 parseFloat() 轉(zhuǎn)換:
<script>
  var value = prompt("請輸入單價:");
  console.log(value);
  console.log(parseFloat(value)); // 12.3
  console.log(parseFloat('3.14')); // 3.14
  console.log(parseFloat('9.94')); // 9.94
  console.log(parseFloat('120px')); // 120
  console.log(parseFloat('rem120px')); // NaN
</script>
  1. 使用Number()函數(shù)進(jìn)行轉(zhuǎn)換:
<script>
  var value = prompt("請輸入單價:");
  console.log(value);
  console.log(Number(value)); // 12.3
  console.log(Number('3.14')); // 3.14
  console.log(Number('9.94')); // 9.94
  console.log(Number('120px')); // 120
  console.log(Number('rem120px')); // NaN
</script>
  1. 使用運(yùn)算符 - * /進(jìn)行轉(zhuǎn)換:
<script>
  /* 1. 使用減法 */
  var str = '123';
  var less = str - 0;
  console.log(less);
  console.log(typeof less);
  console.log(typeof ('123' - '121'),('123' - '121'));

  /* 2. 使用乘法  */
  var multiply = str * 1;
  console.log(multiply);
  console.log(typeof multiply);

  /* 3. 使用除法 */
  var except = str / 1;
  console.log(except);
  console.log(typeof except);
</script>
  1. 注意parseIntparseFloat單詞的大小寫,這2個是重點(diǎn)。

  2. 隱式轉(zhuǎn)換是我們在進(jìn)行算數(shù)運(yùn)算的時候,JS 自動轉(zhuǎn)換了數(shù)據(jù)類型

6.4.2 轉(zhuǎn)換為布爾類型

  1. 代表空、否定的值會被轉(zhuǎn)換為false,如'',0NaN、nullundefined。

  2. 其余值都會被轉(zhuǎn)換為 true。

7. 解釋型語言和編譯型語言

7.1 概述

計算機(jī)不能直接理解任何除機(jī)器語言以外的語言,所以必須要把程序員所寫的程序語言翻譯成機(jī)器語言才能執(zhí)行程序。程序語言翻譯成機(jī)器語言的工具,被稱為翻譯器。

編譯器

7.2 執(zhí)行過程

執(zhí)行過程
類似于請客吃飯:

    編譯語言:首先把所有菜做好,才能上桌吃飯

    解釋語言:好比吃火鍋,邊吃邊涮,同時進(jìn)行

8. 關(guān)鍵字和保留字

8.1 標(biāo)識符

標(biāo)識(zhi)符:就是指開發(fā)人員為變量、屬性、函數(shù)、參數(shù)取的名字。

標(biāo)識符不能是關(guān)鍵字或保留字。

8.2 關(guān)鍵字

關(guān)鍵字:是指 JS本身已經(jīng)使用了的字,不能再用它們充當(dāng)變量名、方法名。

包括:break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with 等。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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