javascript
JavaScript基础语法(一)
目錄
前言
js變量
數據類型
數據類型轉換
傳送門 ——>?JavaScript基礎語法(二)、JavaScript之數組與函數(三)、JavaScript之對象(四)、JavaScript階段二之Web APIs
前言
歷史:布蘭登.艾奇(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)); //返回false3. 字符串型
字符串使用單引號或者雙引號包裹,因為HTML標簽里里面的屬性使用的是雙引號,所以js推薦使用單引號
4. 字符串轉義符
類似HTML里面的特殊字符,字符串中也有特殊字符,我們稱之為轉義符。轉義符都是\開頭的,常用的轉義符及其說明如下:
?5. 字符串長度
獲取字符串的長度 length
<script>var uname = "sdfsfddsf df ";console.log(uname.length); </script>python中是len(字符串)
6. 字符串拼接
- 多個字符串之間可以使用+進行拼接,其拼接方式為 字符串+任何類型=拼接之后的新字符串 。即拼接的字符中只要有字符串類型,那么拼接后就是為字符串類型
- 拼接前會把與字符串相加的任何類型轉成字符串,再拼接成一個新的字符串
數字相加,字符相連
同樣,字符串與變量相連也是用+號,'我今年'+age+'歲了'
7. 布爾型 Boolean
布爾類型有兩個值: true和false ,其中 true表示真(對),而false表示假(錯)。布爾型和數字型相加的時候,true的值為1 ,false的值為0。
console.log (true + 1);? ? // 2 console.log(false + 1) ;? ?//?18. Undefined和Null
一個聲明后沒有被賦值的變量會有一個默認值undefined(如果進行相連或者相加時,注意結果}
null為空值,即什么值都沒有,比如 null+1,值就為1
數據類型轉換
1. 轉換為字符串
?加號拼接字符串的方式也稱為隱式轉換
?2. 轉換為數字型
<script>console.log(parseInt('3.14')); //取整,輸出3console.log(parseInt('3.99')); //取整,輸出3console.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)); //輸出trueconsole.log(Boolean(0)); //false </script>標識符
標識(zhi)符:就是指開發人員為變量、屬性、函數、參數取的名字
感謝黑馬程序員分享的web前端視頻:https://www.bilibili.com/video/BV1ux411d75J?p=14
總結
以上是生活随笔為你收集整理的JavaScript基础语法(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 同步助手 java_八大手机平台全覆盖
- 下一篇: Spring---浅谈IOC