JavaScript:簡稱JS
JS的原名不是JavaScript,而是LiveScript
JS分為三個部分
1.ECMAScript 標準→JS的基本的語法
2.DOM——Document Object Model 檔案物件模型
3.DOM——Browser Object Model 瀏覽器物件模型
JavaScript是什么?
是一門腳本語言:不需要編譯(翻譯),直接運行
是一門解釋性的語言:遇到一行代碼就解釋(執行)一行代碼
是一門動態型別的語言
是一門基于物件的語言
是一門弱型別的語言,宣告變數的時候都是使用var
(編譯語言:需要把代碼翻譯成計算機所認知的二進制語言才能夠執行
腳本語言:不需要編譯,直接執行)
變數
操作的資料都是在記憶體中操作的
JS中存盤資料使用變數的方式(名字,值→資料)
JS中宣告變數都用var→存盤資料,資料應該有對應的資料型別
JS中的字串型別的值都用雙引號或者單引號
變數的作用:用來操作資料的,可以存盤,可以讀取
變數的宣告:var 變數名字
變數的初始化:var 變數名字=值;又叫字面量的方式賦值
變數宣告(有var 有變數名字,沒有值)
變數初始化(有var 有變數名字,有值)
var 是變數的名字
“=”等號的意義是賦值的含義
var number;//變數的宣告,此時是沒有賦值的(里面是沒有資料的,因為沒有寫“=”號)
var x,y,z,k,j;(都是宣告,沒有賦值);//一次性宣告多個變數
變數的初始化(變數宣告的同時并且賦值了)
存盤一個數字10 //var number=10
存盤一個人的名字 //var name=“小孩”
存盤真(true) //var flag=true
存盤一個null→相當于是空 //var nll=null
存盤一個物件 //var obj=new object()
需要注意基本代碼的規范:
1.JS中宣告變數都是用var
2.JS中每一行代碼結束都應該有分號(寫一行代碼結束要有寫分號的習慣,這是一種規范,規定,如果不寫,后期代碼越來越多就越容易出錯,);
3.JS中的大小寫是區分的;例:var N=10;var n=10,這個N和n是不一樣的,它們沒有關系,
4.JS中的字串可以使用單引號,也可以使用雙引號,目前我們暫時使用雙引號,
變數名的注意問題——變數名的命名規范,要遵循駝峰命名法
1.變數的名字要有意義,(方便其他人能看懂)(代碼越規范別人讀取越清晰)
2.變數名有一定的規范:一般以字母,$符號,下劃線開頭,中間或者后面可以有$符號,字母,數字
3.變數名一般都是小寫的
4.變數名如果是多個單詞,第一個單詞的首字母是小寫,后面的所有的單詞的首字母都是大寫的,這種命名的方式稱為:駝峰命名法,
5.不能使用關鍵字(比如系統自帶的一些單詞,不能使用)
6.不會單詞用拼音,拼音也要遵循駝峰命名法
變數的交換:
- 第一種方式:使用第三方的變數進行交換,
- 第二種方式:數字之間的加減運算(一般適用于數字的交換)
- 拓展的變數的交換:位運算
例子:
第一種方式: 使用第三方的變數進行交換
var num1=10;
var num2=20;
var temp=num1;
num1=num2;
num2=temp;
第二種方式交換:一般適用于數字的交換
var num1=10;
var num2=20;
//把num1的變數中的值和num2變數中的值,取出來相加,重新賦值給num1這個變數,
num1=num1+num2;//30
//num1變數的值和num2變數的值取出來,相減的結果重新賦值給num2.
num2=num1-num2;//10
//num1變數的值和num2變數的值取出來,相減的結果重新賦值給num1(num2已經重新賦值了,num2=10,代入進去就得到num1=30-10=20)
num1=num1-num2;//20
console.log(num1,num2);【把num1和num2放在一起,這樣可以一起輸出】
拓展的變數的交換:位運算
var num1=10;
var num2=20;
num1=num1^num2
num2=num1^num2
num1=num1^num2
注釋:是解釋代碼的含義,方便自己或者給其他的程式員看的
注釋的方式:
1.單行注釋 // 一般用在一行代碼的上面
2.多行注釋 /*中間這里寫注釋的內容*/ 一般用在函式或者是一段代碼的上面
注釋后的代碼是不執行的
JS中的資料型別有哪些?
JS中的原始資料型別:number、string、boolean、null、undefined、object
number:數字型別(包含整數和小數)
string:字串型別(字串型別的值一般都是用單引號或者雙引號括起來)
boolean:布爾型別(布爾型別的值只有兩個,true(真1),false(假0))
null:空型別,值只有一個:null,當一個物件指向為空了,此時可以賦值為null
undefined:未定義,值只有一個:undefined
object:物件
什么情況下的結果是undefined?
變數宣告了,沒有賦值,結果是undefined,
函式沒有明確的回傳值,如果接收了,結果也是undefined,
如果一個變數的結果是undefined和一個數字進行計算,結果是:NaN(not an number)不是一個數字也沒有意義,
如何獲取這個變數的資料型別是什么?使用typeof來獲取,
typeof的使用的語法:
都可以獲取這個變數的資料庫型別是什么!
typeof加變數名;
typeof(變數名);
console.log(typeof(變數名));
number數字型別
JS中可以表示哪些進制?
JS中沒有二進制
十進制:數字序列范圍0、1
八進制:數字序列范圍0~7
十六進制:數字序列范圍:0~9以及A~F
var num=10;//十進制
var num2=012;//八進制
var num3=0x123;//十六進制
數字型別是有范圍的:最小值和最大值
console.log(Number.MAX_VALUE);數字的最大值
console.log(Number.MIN_VALUE);數字的最小值
無窮大:Infinity
無窮小:-Infinity
總結:
1.數字型別:number型別
2.無論是整數還是小數都是數字型別
3.不要用小數驗證小數, 否則有時將會出現bug
4.不要使用NaN判斷是不是NaN,應該使用isNaN(值或者是變數);
5.想要表示十進制:就是正常的數字
6.想要表示八進制:以0開頭
7.想要表示十六進制:以0x開頭
string字串型別
字串可以使用單引號,也可以使用雙引號;
(字串的個數有多少個?(這個字串的長度是多少?))
字串的長度如何獲取?變數名.length
JS中的字串里也有轉義符
\b 退格
\f 走紙換頁
\n 換行
\r 回車
\t 橫向跳格(Ctrl—I)(tab鍵)
\’ 單引號
\" 雙引號
\\ 反斜杠
字串的拼接:使用“+”可以把多個字串放在一起形成一個字串;
只要有一個是字串,其它的是數字,那么結果也是拼接,不是相加;
如果有一個是字串,另一個不是字串,使用-、*號,此時會發生計算
瀏覽器幫助我們自動的把字串型別轉成數字型別,這種方式叫:隱式轉換(自動轉換)
boolean布爾型別
布爾型別的值有兩個,一個是ture(真),一個是false(假);
計算機內部存盤:true為1,false為0;
Undefined和Null
undefined表示一個宣告了沒有賦值的變數,變數只宣告的時候值默認是undefined
null表示一個空,變數的值如果想為null,必須手動設定
型別轉換
1. 其它型別轉數字型別:三種方式
2. 其它型別轉字串型別
3. 其它型別轉布爾型別
其它型別轉數字型別:三種方式
1.parseInt();//轉整數
console.log(parsrInt(“10”));//10
console.log(parsrInt(“10jjsssxxx”));//默認轉換成10,后面的字母自動忽略;
console.log(parsrInt(“g10”));//NaN(不是一個數字)
console.log(parsrInt(“1”));//1
console.log(parsrInt(“10.924”));//10默認轉換成整數
console.log(parsrInt(“10.23hhj”));//10默認轉換成整數
2.parseFloat()//轉小數 ,結果與轉整數差不多,只不過轉的是小數
3.Number();//轉數字,
小數和整數都是數字,所以都可以轉,如果添加了不是數字的字符,那就會出現NaN;
總結:想要轉整數用parseInt();想要轉小數用parseFloat();想要轉整數用Number()(Number()這種方式要比上面的兩種方式嚴格);
(瀏覽器顯示黑色的,說明是字串型別)
其它型別轉字串型別:
1. .toString()
var num=10;
console.log(num
.toString());//字串型別
2. String();
var numl1=20;
conso.log(Strong(numl1));
如果變數有意義,呼叫 .toString()轉換
如果不量沒有意義,使用String()轉換
其它型別轉布爾型別:
Boolran(值)
console.log(Boolean(1));//ture
console.log(Boolean(0));//false
console.log(Boolean(11));//ture
console.log(Boolean(-10));//ture、
console.log(Boolean(“哈哈”));//ture
console.log(Boolean(“”));//flase
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
運算子(又叫運算子)
運算子:是一些符號→是用來計算
運算子分為:
算數運算子
一元運算子
二元運算子
三元運算子
復合運算子
關系運算子
邏輯運算子
算數運算子: + - * / %(取余,取余數)
算數運算子的作用是用來計算的
算數運算運算式:由算數運算子連接起來的運算式
運算子兩邊的運算元可以是:數字、變數或者運算式,
一元運算子:這個運算子只需要一個運算元就可以運算的符號 ++ --
二元運算子:這個運算子需要兩個運算元就可以運算的符號
復合運算子:+= -= *= /= %=
復合運算運算式:由復合運算子連接起來的運算式
var num=10;
num+=10;→就是:num=num+10
關系運算子:> < >= <= == === != !==
關系運算運算式:由關系運算子連接起來的運算式
關系運算運算式的結果是布爾型別,
==不嚴格的相等 ===嚴格的相等
==只需判斷值一不一樣就可以了不需要判斷型別,
===既需要判斷值一不一樣,又需要判斷型別一不一樣
!=不嚴格的不等
!==嚴格的不等
邏輯運算子:&& // !
邏輯運算運算式:由邏輯運算子連接起來的運算式
&&---邏輯與(與---并且)
//---邏輯或(或---或者)
!---邏輯非(非---取反--取非)(取反,取相反的結果)
運算式1 && 運算式2
如果有一個為false,整個的結果就是false
運算式1 // 運算式2
如果有一個為true,整個的結果為true
!運算式1
運算式1的結果是true,整個結果為false
運算式1的結果是false,整個結果為true
運算子的優先級
優先級從高到底
1. () 優先級最高
2. 一元運算子 ++ -- !
3. 算數運算子 先* / % 后 + -
4. 關系運算子 > >= < <=
5. 相等運算子 == != === !==
6. 邏輯運算子 先&& 后||
7. 賦值運算子 =
字面量:把一個值賦值給一個變數 var num=10;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/155338.html
標籤:JavaScript
下一篇:vue 查看dist檔案里的結構
