目錄
前言
js變數
資料型別
資料型別轉換
傳送門 ——> JavaScript基礎語法(二)
前言
歷史:布蘭登.艾奇(1961~),在1995年中利用10天完成了JavaScript的設計
JavaScript是世界上最流行的語言之一,是一種運行在客戶端的腳本語言( Script是腳本的意思)腳本語言:不需要編譯,運行程序中由js解釋器(js 引擎)逐行來進行解釋并執行,現在也可以基于Node.js技術進行服務器端編程
解釋型與編譯型語言
JS屬于解釋型語言,
計算機不能直接理解任何除機器語言以外的語言,所以必須要把程式員所寫的程式語言翻譯成機器語言才能執行程式,程式語言翻譯成機器語言的工具,被稱為翻譯器,

- 翻譯器翻譯的方式有兩種:一個是編譯,另外一個是解釋,兩種方式之間的區別在于翻譯的時間點不同
- 編譯器是在代碼執行之前進行編譯,生成中間代碼檔案
- 解釋器是在運行時進行及時解釋,并立即執行(當編譯器以解釋方

js作用
- 表單動態校驗(密碼強度檢測)(JS產生最初的目的)
- 網頁特效
- 服務端開發(Node.js)(現在前后端通吃了)
- 桌面程式(Electron)
- App(Cordova)
- 控制硬體-物聯網(Ruff)
- 游戲開發(cocos2d-js)
我們都知道前端三大件為html,css,js,js用來實作業務邏輯和頁面控制,相當于實作人的各種動作
瀏覽器執行JS的程序
瀏覽器分成兩部分∶渲染引擎和JS引擎
- 渲染引擎∶用來決議HTML與CSS,俗稱內核,比如chrome瀏覽器的blink,老版本的webkit
- JS引擎:也稱為JS解釋器,用來讀取網頁中的JavaScript代碼,對其處理后運行,比如chrome 瀏覽器的V8
瀏覽器本身并不會執行JS代碼,而是通過內置JavaScript引擎(解釋器)來執行S代碼,JS引擎執行代碼時逐行解釋每一句原始碼(轉換為機器語言),然后由計算機去執行,所以JavaScript 語言歸為腳本語言,會逐行解釋執行,
即瀏覽器通過JS引擎將js這種高級語言逐行轉換為計算機能識別的機器語言
js組成

ECMAScript是由ECMA國際(原歐洲計算機制造商協會)進行標準化的一門編程語言,這種語言在萬維網上應用廣泛,它往往被稱為JavaScript或JScript,但實際上后兩者是ECMAScript語言的實作和擴展,

ECMAScript : ECMAScript規定了JS的編程語法和基礎核心知識,是所有瀏覽器廠商共同遵守的一套JS語法工業標準,我們接下來學習的就是JavaScript語法,
即 js = ECMAScript(基礎語法) + DOM + BOM 組成
JS寫法
js寫法有三種
- 行內式,即直接寫在html元素中
- 內嵌式也寫在html頁面中,只不過用<script>xxx</script>進行包裹
- 外部式,通過<script src='js.js'></script>將外部的js檔案進行引入

js注釋
<script>
//單行注釋
/*多行注釋*/
</script>
- html注釋:<!-- xxxx -->
- php注釋://
- python注釋: #
JS輸入輸出陳述句
為了方便資訊的輸入輸出,JS中提供了一些輸入輸出陳述句,其常用的陳述句如下∶

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>js練習</title>
</head>
<body>
<script>
//這是一個輸入框
prompt("請輸入年齡");
//alert彈出警示框,展示給用戶的
alert('計算的結果是');
//console.log,給程式員測驗用的
console.log('我是程式員能看到的');
</script>
</body>
</html>
彈出輸入框

console.log

js變數
var age; //宣告一個名稱為age的變數,變數名區分大小寫
- var是一個JS關鍵字,用來宣告變數( variable變數的意思),使用該關鍵字宣告變數后,計算機會自動為變數分配記憶體空間,不需要程式員管
- age是程式員定義的變數名,我們要通過變數名來訪問記憶體中分配的空間
宣告變數并賦值,稱為變數的初始化
<script>
var name = "cc";
console.log(name); //控制臺輸入變數值
</script>
案例1:
瀏覽器彈出輸入框,用戶輸入內容后將該內容進行彈窗
<script>
var name = prompt('請輸入姓名');
alert(name);
</script>
同時宣告多個變數時,只需要寫一個var,多個變數名之間使用英文逗號隔開,
var age = 10,name = 'zs', sex = 2;
案例2——兩變數值交換
需要一個臨時變數作為緩沖
<script>
var temp;
var apple1 = "青蘋果";
var apple2 = "紅蘋果";
temp = apple2;
apple2 = apple1;
apple1 = temp;
console.log(apple1); //輸出紅蘋果
console.log(apple2); //輸出青蘋果
</script>
資料型別
在計算機中,不同的資料所需占用的存盤空間是不同的,為了便于把資料分成所需記憶體大小不同的資料,充分利用存盤空間,于是定義了不同的資料型別,
變數是用來存盤值的所在處,它們有名字和資料型別,變數的資料型別決定了如何將代表這些值的位存盤到計算機的記憶體中,JavaScript是一種弱型別或者說動態語言,這意味著不用提前宣告變數的型別,在程式運行程序中,型別會被自動確定,像python一樣不需要宣告變數型別
在代碼運行時,變數的資料型別是由JS引擎根據=右邊變數值的資料型別來判斷的,運行完畢之后,變數就確定了資料型別,
JavaScript擁有動態型別,同時也意味著相同的變數可用作不同的型別:
- var x = 6; //x為數字型別
- var x = "Bi11"; //×為字串型別
1. 資料型別分類
JS把資料型別分為兩類:
- 簡單資料型別( Number, string,Boolean , Undefined,Null )
- 復雜資料型別( object)
在js中八進制前面加0,十六進制前面加0x
- lnfinity ,代表無窮大,大于任何數值
- -Infinity,代表無窮小,小于任何數值
- NaN ,Not a number,代表一個非數值
typeof 輸出資料型別
<script>
var age = '12';
console.log(typeof age); //輸出string
</script>
2 isNaN
判斷是否非數字,是數字回傳false,不是回傳true
console.log(isNaN(12)); //回傳false
3. 字串型
字串使用單引號或者雙引號包裹,因為HTML標簽里里面的屬性使用的是雙引號,所以js推薦使用單引號
4. 字串轉義符
類似HTML里面的特殊字符,字串中也有特殊字符,我們稱之為轉義符,轉義符都是\開頭的,常用的轉義符及其說明如下:

5. 字串長度
獲取字串的長度 length
<script>
var uname = "sdfsfddsf df ";
console.log(uname.length);
</script>
python中是len(字串)
6. 字串拼接
- 多個字串之間可以使用+進行拼接,其拼接方式為 字串+任何型別=拼接之后的新字串 ,即拼接的字符中只要有字串型別,那么拼接后就是為字串型別
- 拼接前會把與字串相加的任何型別轉成字串,再拼接成一個新的字串
<script>
console.log("沙漠"+"駱駝"); //字串的沙漠駱駝
console.log("我才"+18); //我才18
console.log(true+"我才"); //true我才
console.log('12'+12); //1212
console.log(12+12); //24
</script>
數字相加,字符相連
同樣,字串與變數相連也是用+號,'我今年'+age+'歲了'
7. 布爾型 Boolean
布爾型別有兩個值: true和false ,其中 true表示真(對),而false表示假(錯),布爾型和數字型相加的時候,true的值為1 ,false的值為0,
console.log (true + 1); // 2
console.log(false + 1) ; // 1
8. Undefined和Null
一個宣告后沒有被賦值的變數會有一個默認值undefined(如果進行相連或者相加時,注意結果}
null為空值,即什么值都沒有,比如 null+1,值就為1
資料型別轉換
1. 轉換為字串

加號拼接字串的方式也稱為隱式轉換
2. 轉換為數字型

<script>
console.log(parseInt('3.14')); //取整,輸出3
console.log(parseInt('3.99')); //取整,輸出3
console.log(parseInt('120px')); //120,會去掉px這個單位
console.log(parseFloat('3.23')); //不會取整,數字原樣輸出
console.log(Number('3.14')); 不會取整,數字原樣輸出
</script>
3. 轉換為布爾型
Boolean(),將其他型別轉換為布爾型,結果為true或者false
<script>
console.log(Boolean(2)); //輸出true
console.log(Boolean(0)); //false
</script>
識別符號
標識(zhi)符:就是指開發人員為變數、屬性、函式、引數取的名字
感謝黑馬程式員分享的web前端視頻:https://www.bilibili.com/video/BV1ux411d75J?p=14
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/292970.html
標籤:其他
上一篇:Vue原始碼學習(一)
