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...