首先要了解什么是js
js是一種運行在客戶端的弱型別腳本語言
注釋
js中注釋分為單行注釋和多行注釋
單行注釋 :就是//被注釋的代碼不會執行
多行注釋:就是/**/,一次可以注釋多行代碼
//alert('123456') 單行注釋用ctrl+/
/*
alert('holle word')
alert('holle word')
alert('holle word')
alert('holle word')
alert('holle word')
*/
輸出陳述句
alert()彈出一個警告框,括號里面填彈出內容;
console.log()在控制臺中列印你想列印的內容,括號里面填寫你要輸出的內容
document.write()在頁面中直接顯示你要輸出的內容,括號里面填寫你要顯示的內容
alert('你好');
console.log('我不好');
document.write('今天天氣真好')
變數
變數的特點:一個變數只能保存一個值,當你給他第二個值的時候,第一個值就會被覆寫
var a = 1;
// var 定義變數的關鍵字;
// 關鍵字和變數名之間必須要用空格隔開
// a 變數名;
console.log(a); //不加引號就是輸出a這個不變數
console.log('a'); //加上引號就是輸出a這個文本
var a = 2;
console.log(a); //會覆寫第一個值,所以輸出的是2
變數的命名規則
1.變數不能以數字開頭;
2.變數名不能使用關鍵字和保留字;
3.js中嚴格要求大小寫;比如a和A就不是用一個變數;
4.變數命名必須以字母,下劃線或者”$”為開頭,其他字符可以是字母,_,$或數字.
5.變數名不允許包含空格和其他標點符號;
6.同時宣告多個變數時要用逗號隔開
var age = 18,
address = '天地會',
gongzi = 5000;
資料型別
1.1簡單資料型別如:number(數值型),string(字串),boolean(布爾),undefined(未定義),null(空)
1.2復雜資料型別如:object(物件),function(函式),Array(陣列),Date(建構式),RegExp(正則)
1.3通過typeof來判斷資料的型別
var a = 2
console.log(typeof a); //number
var a1 = '2'
console.log(typeof a1); //string
var a3;
console.log(typeof a3); //undefined
var a4 = null;
console.log(typeof a4); //object
資料的型別轉換
1.隱式轉換
,通過運算轉換
2.強制轉換
,Number(轉換成數值)
,String(轉換為字串)
,parseInt()取整 強制轉換為number 如果第一個數不是數字則回傳NaN 開頭和結尾可以有空格
,parseFloat() 回傳一個浮點數 并且強制轉換為number 開頭和結尾可以有空格 如果第一個數不是數字則回傳NaN
,toString() 強制轉換為字串,
var a = 2.9;
var c = ' 1.9sasda'
var c1 = Number(c)
var b = String(a);
var a1 = parseInt(a)
var c2 = parseInt(c)//1
var c3 = parseFloat(c)//1.9
var a2 = parseFloat(a)//2.9
var a3 = toString(a)
console.log(typeof a); //number
console.log(typeof b); //string
console.log(typeof c1); //number
console.log(typeof c2);//number
console.log(typeof a3); //strimg
運算子
1.算數運算子
+(加) -(減)*(乘) /(除)%(取余) ++(自增) --(自減)
var a = 3;//3
a1 = a + 1;//4
a2 = a - 1;//2
a3 = a * 2;//6
a4 = a / 2;//1.5
a5 = a % 2;//1
console.log(a1, a2, a3, a4, a5);
console.log(a++); //先賦值后運算
console.log(++a); //先運算后賦值
2.邏輯運算子
&&(邏輯與)||(邏輯或)!(邏輯非);
除了false,0,null,undefined,' ' 都是真的
console.log(0 && 1); //0
console.log(false && true); //有一個為假就不往下執行
console.log(false || true); //有一個為真就不往下執行
console.log(!(false || true)); //對運行的結果取反
3.比較運算子
>(大于)<(小于)==(等于)===(全等)<=(小于等于)>=(大于等于)!=(不等于)!==(不全等)
console.log(1 > 2); //false
console.log(1 < 2); //true
console.log(1 <= 2); //true
console.log(1 >= 2); //false
console.log(1 == '1'); //true
console.log(1 === '1'); //false
console.log(1 != '1'); //false
console.log(1 !== '1'); //true
- 4.賦值運算子
=(等于) +=(加等于)-=(減等于)/=(除等于)*=(乘等于)%=(取余等于)
var a = 1;
a += 1 //相當于a=a+1
a -= 1 //相當于a=a-1
a *= 2 //相當于a=a*2
a /= 2 //相當于a=a/2
a %= 1 //相當于a=a%2
5.三元運算子
條件?代碼1:代碼2 如果條件為真就執行第一個否則就執行第二個
流程控制
流程控制就是控制我們的代碼按照什么結構順序來執行,以便達到不同的運算結果
,順序結構
,分支結構
1if(),if else陳述句,if else if陳述句
var a = prompt('請問你今年多大了');
if (a < 18) {
console.log('你還未成年');
} else if (70 > a > 18) {
console.log('你成年了');
} else {
console.log('你已經是一個老年人了');
}
swicth
- case穿透,如果每一個case陳述句執行完畢之后,沒有遇到 break , 讓程式繼續往下執行,
-
break的穿透 是從第一個滿足條件的case開始進行穿透的
-
default可以寫也可以不寫
-
.switch陳述句,只能夠判斷準確的一個字面量值 不能夠判斷范圍
var n = 18;
switch (n) {
case 18:
console.log('我已經成年了');
break;
case 17:
console.log('我還是未成年');
break;
default:
console.log('請輸入一個數值');
}
,回圈結構
回圈的作用
-
簡化代碼,處理重復執行的代碼
-
遍歷陣列
回圈的要素
-
初始值 作為回圈的開始
-
條件判斷 決定要不要執行
-
要回圈的陳述句
-
改變回圈初始值 為了讓回圈停下來
while回圈
var a = 0;
while (a < 5) {
console.log('我還會想你');
a += 1
}
do while回圈
var n = 8;
do {
console.log('我被執行了');
n++;
} while (n < 10)
console.log('后續代碼');
while 和 do while 的區別:while會先判斷在執行而do while會先執行一邊在判斷,
for 回圈
var a = 5;
for (var i = 0; i < a; i++) {
console.log(i);
}
for in回圈用來遍歷物件(object和arr)
arr = [1, 2, 3, 4, 5];
for (k in arr) {
console.log(k, arr);
}
同步和異步
- 同步會按照順序執行,會堵塞
- 異步不一定按照順序執行,不會堵塞
- 注意同步和異步同時出現會先執行同步
//異步
// setTimeout(function () {
// console.log(1);
// }, 100)
// setTimeout(function () {
// console.log(2);
// }, 50)
// setTimeout(function () {
// console.log(1);
// }, 0)
// console.log('2');
function getData(fn) {
let a;
setTimeout(function () {
a = 10 //服務器給的一份資料 10
fn(a)
},1000)
// return a;
}
// var num = getData()
// console.log(num);//?? undefined
//10???
getData(function(num){ //回呼函式
console.log(num);
})
陣列
- 陣列是一種物件型別
- 定義陣列
// var arr=[10,20,30]
var arr = new Array();
var arr0 = new Array(10, 20, 30);
var arr1 = new Array(10);//宣告一個長度為10的空陣列
console.log(arr);
console.log(arr0);
console.log(arr1);
陣列的方法單獨寫了一篇,有興趣的可以去看看
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/304952.html
標籤:其他
下一篇:Vue原理面試題
