JS基礎語法篇

2021-10-06 23:07:36 字數 4912 閱讀 2258

2:內部js** 寫在script標籤裡面!

3:外部js** 需要script標籤引入(使用src屬性)

//彈出窗

alert(123)

//控制台列印

console.log(321);

//寫入頁面,但是會重繪頁面!

document.write('1122')

//彈出輸入框

let num = prompt('請輸入什麼?')

var a = 10;//var 宣告的變數是全域性變數

var b = 10;

a = 10;//雖然可以使用,但是定義的是全域性變數,還有就是在嚴格模式下,會報錯

注意:1.乙個變數名只能儲存乙個值

2.當再次給乙個變數賦值的時候,前一次的值就被覆蓋掉了

3.變數名稱區分大小寫(js區分大小寫)

01:只能是字元,下劃線,-,$等組成,以字元開頭最合適,但是不能使用數字開頭

02:區分大小寫

03:不能使用關鍵字和保留字

int class 等等

04:宣告變數的建議

語義化定義變數

駝峰式寫法: classname

還有以-連線符(下劃線): class-name class_name

1、單行注釋

一般就是用來描述下面一行**的作用

可以直接寫兩個 /(快捷鍵l:ctrl + /)

// 我是乙個單行注釋

// 下面**表示在瀏覽器裡面出現乙個彈出層

alert

('我是乙個彈出層'

)

2、多行注釋

一般用來注釋一大段的文字或者**

可以直接寫/* /,然後在兩個號之間寫注釋的內容(快捷鍵:shift + alt + a)

/*

我是乙個多行注釋

我是乙個多行注釋我

是乙個多行注釋

*//*

注釋的**不會執行

alert('我是乙個彈出層')

alert('我是乙個彈出層')

*/alert

('我是乙個彈出層'

)

1:簡單資料型別

01:number — 數字型

02:string — 單引號或雙引號 外單內雙 內雙外單 `` —模板字串

03:boolean —布林值 true或false

04:null — 空

05:undefined —只宣告為賦值

注意點:typeof (a) 使用typeof來檢視這些的資料型別

console.log(typeof (a) + "---" + typeof (num));

注意點2:nan --- 非數字

2:複雜資料型別 —物件 函式 陣列 字串物件

1:資料型別的判斷:

使用typeof(變數)方法來判斷資料型別屬於那種型別!

或者使用 typrof 變數名

返回值為:資料型別,這個是乙個字串的資料型別!

isnan(變數) ---判斷是否為非數字 是非數字的話,則是返回true,否則為false

2:資料型別的轉換
- * /   ---隱式轉換

number(變數) ---把其他型別完全轉化為number型別

parstfloat(變數) ---轉換為帶有小數的number型別

parseint(變數) ---轉化為整數

變數.tostring() ---轉化為字串型別的資料

string(變數) ---轉化為字串型別

隱式轉換 + ---字串的拼接(兩邊都是字串的時候,是拼接的效果,或者一邊字串一邊數值的時候也是拼接

。 若是兩邊的都是數字(number型別)就相加)

boolean(變數) ---轉化為布林型

注意點:在boolean轉化中,只有nan,undefined,0,null轉化為false,其他的都是為true

3:運算子
01:算數運算子 

- + % / * 執行順序為從右到左

02:賦值運算子

= ---把右邊的值賦值給左邊

+= --- num += 4 ==> num = num + 4;

-=%=

/=*=

03: 關係運算子 ---返回值為布林值

>

<

== 等於 判斷左邊的是否等於右邊的值 是等於就為true 否則為false (2 == '2' 是true的)

=== 全等於 假如 2 === '2' 值相等但是資料型別不同,所以為false

<=

>=

!= 不等於 就是值不相等的時候,就是為true(不考慮資料型別)

!== 不全等 就是2 !== '2' 就是值相等的時候,資料型別不同,返回的是true

04:邏輯運算子 返回的是布林值

&& ---邏輯與 全為真就為真

|| ---邏輯或 全為假久違假

! ---邏輯非 把true轉為false false轉化為true

注意點:|| --- 就是這個運算的時候是從左到右,假如第乙個為真,就直接以true輸出結果,若是為false就才會繼續想想判斷

switch (要判斷的變數)

let score =

prompt

("請輸入你的成績"

)score = math.

ceil

(score /10)

;switch

(score)

// 下面這個**,條件一開始就不滿足,但是依舊會執行一次 do 後面 {} 內部的**

var num =

10do

while

(num <

10)

組成:初始化條件,條件,表示式,

初始化:let i = 0;

條件: i < 100;

表示式: i++

for迴圈的執行順序:先初始化條件,然後判斷條件,執行迴圈體,再執行表示式(i++)

執行過上面一層後,從(i++) — 條件 – 迴圈體 (然後就是一直在這邊迴圈) 直到條件不符合的時候,跳出迴圈

注意點:就是for迴圈外面使用var定義變數的時候,在執行for後面列印i的話,是列印的是跳出迴圈的值

for (var i = 0; i < 10; i++) 

console.log(i); //11

就是乙個for迴圈裡面在巢狀乙個for迴圈 — 使用的時候,就是多行多列的方式使用

外層for迴圈控制行,內層的for迴圈控制列

注意點:先實現內部的,然後在實現外部的

for (var j = 0; j < 3; j++) 

document.write('

') }

/*j = 0 j < 3 成立 執行內層迴圈

i = 0 這個執行完成 繼續判斷內層迴圈的條件滿足的時候,繼續執行內層迴圈

i = 1 這個執行完成 繼續判斷內層迴圈的條件滿足的時候,繼續執行內層迴圈

i = 2 這個執行完成 繼續判斷內層迴圈的條件滿足的時候,繼續執行內層迴圈

i = 3 這個執行完成 繼續判斷內層迴圈的條件,不滿足,跳出內層迴圈,繼續執行外層迴圈

j = 1 j <3 成立,執行內層迴圈

i = 0 這個執行完成 繼續判斷內層迴圈的條件滿足的時候,繼續執行內層迴圈

i = 1 這個執行完成 繼續判斷內層迴圈的條件滿足的時候,繼續執行內層迴圈

i = 2 這個執行完成 繼續判斷內層迴圈的條件滿足的時候,繼續執行內層迴圈

i = 3 這個執行完成 繼續判斷內層迴圈的條件,不滿足,跳出內層迴圈,繼續執行外層迴圈

j = 2 j < 3 成績,執行內層迴圈

i = 0 這個執行完成 繼續判斷內層迴圈的條件滿足的時候,繼續執行內層迴圈

i = 1 這個執行完成 繼續判斷內層迴圈的條件滿足的時候,繼續執行內層迴圈

i = 2 這個執行完成 繼續判斷內層迴圈的條件滿足的時候,繼續執行內層迴圈

i = 3 這個執行完成 繼續判斷內層迴圈的條件,不滿足,跳出內層迴圈,繼續執行外層迴圈

j = 3 j < 3 不成立, 跳出外層迴圈(整個迴圈結束)*/

注意點:正常的思路就是,先考慮內層迴圈的執行,等待內層迴圈**實現的時候,就是在外層新增迴圈的次數

for

(var i =

1; i <=

5; i++

) 裡面的**終止迴圈

// 迴圈就不會繼續向下執行了,也就沒有 4 和 5 了

if(i ===3)

}

// 迴圈的識別符號 ,outer 和inner是for識別符號,名字自己取

outer:

for(var i =

0; i <

5; i++

) console.

log(i, j);}

}

for

(var i =

1; i <=

5; i++

) 裡面的**

// {} 裡面有 continue,那麼本次迴圈後面的**就都不執行了

// 自動算作 i 為 3 的這一次結束了,去繼續執行 i = 4 的那次迴圈了

if(i ===3)

console.

log(

'我吃了乙個包子'

)}

JS基礎語法

引用型別 var x x 為 undefined var x 5 現在 x 為數字 var x john 現在 x 為字串cars voood 將宣告window的乙個屬性 cars 在html種,全域性變數是window物件,所有資料變數都屬於window物件 其實也就是有乙個全域性物件windo...

JS 基礎語法

資料型別 六種資料型別 number boolean string undefined null object function array date.其中object是引用型別儲存的是資料的位址,其他是原始型別可以按值訪問。null表示沒有宣告該物件,是 無 的物件,轉為數值時為0。undefin...

JS基礎語法

新增節點 元素 自殺刪除 ele.remove 父元素.removechild 子元素 複製元素 ele.clonenode true false 建立元素,只有新增到父級中才會有作用 document.createelenment 父元素.innerhtml 需要建立的標籤 document.wr...