無論學習什麼語言,基礎是決定高度的一大因素,本文是我整理的javascript基礎題目,不難,都是最基礎的知識。值得一刷
1.數據類型 / 變量
1.1 JS中的數據類型都有哪些,他們之間的區別是什麼?
1.2 數據類型的區別
let a = 12;
let b = a;
b = 13;
console.log(a);
let a = {n:12};
let b = a;
b['n'] = 13;
console.log(a.n);
let a = {n:12};
let b = a;
b = {n:13};
console.log(a.n);
這道題就不給詳解了,上面已經介紹了數據類型的區別,利用他的區別來做這道題使你掌握的更紮實吧!!!
1.3 檢測數據類型的四種方式?
下圖保存起來,50%查看效果最加
1.4 創建變量的方式
2. 分析程序
2.1 parseFloat / alert
let num = parseFloat('width:100px');
if(num===100){
alert(1);
}else if(num===NaN){
alert(2);
}else if(typeof num==='number'){
alert(3);
}else{
alert(4);
}
parseFloat
的規則是從左向右的查看字符串(不是字符串就先轉爲字符串)中的每一項,如果第一個不是數字那麼直接返回NaN
,如果第一個是數字,那麼直到遇到非有效數字就停止,返回非有效數字前面的數字。
typeof
的返回值首先是一個字符串
alert
彈出的東西都會隱性轉爲字符串
答案 ->‘3’
2.2 for / if / break / continue
for(var i=0;i<10;i+=2){
if(i<=5){
i++;
continue;
}else{
i+=3;
break;
}
alert(i);
}
alert(i);
這道題是在上學期間就會遇到的題目吧,回憶一下break、continue在for中的作用吧!
for
循環中四步:先初始值 -》判斷條件(不滿足條件不做下面的幾步) -》執行循環體 -》步數累計
break:
終止整個循環,並且下面的代碼的不再執行,也不會執行步長累計
continue:
終止本次循環,繼續下次循環。下面的代碼不再執行,但是會去執行步長累計
答案:輸出一次 ‘9’
2.3 騰訊的一道字符串拼接題目
let result = 1+null+true+undefined+'Tencent'+false+[]+undefined+null;
console.log(result);
字符串的四則運算,加法時如果加號左右出現字符串就變成字符串拼接,基本數據類型直接拼接,引用數據類型變爲字符串再拼接
答案:‘NaNTencentfalseundefinednull’
2.4 boolean的應用
A:3-'1px'?alert(2):alert(3);
B:3+'1px'?alert(4):alert(3);
字符串的四則運算
答案:
A:‘3’
B:‘4’
2.5 對象的獲取
var name = 10;
var obj = {
name: 'lili'
};
console.log(obj['name']);
console.log(obj[name]);
對象中獲取屬性的方式
答案:lili undefined
2.6 ++i / i++ 上學就會做的一道題
let i=1;
console.log(1-(++i)+(i--)+1+(i++)-(--i)-1);
console.log(i);
上面的這個估計大家都會做,但是我說的不是這個,想和大家聊聊i++和i+=1這兩個的區別;
i++ :如果i是一個字符串,那麼加之前會先轉爲數字再加
i+=1:如果i是字符串,就是字符串拼接。不會隱性轉化
3. 數組
3.1 向下面數組末尾追加一個值100,你有幾種辦法?
let ary = [12,14,13,35,16,28];
我可以想到的有三種,你們呢?歡迎追加方法
ary.push(100);
ary[ary.length] = 100;
ary.splice(ary.length,0,100);
3.2 把下面的數組進行排序(降序)
let ary = [12,14,13,35,16,28];
ary.sort((a,b)=>b-a)
3.2 實現找到數組第n項到第m項(包含n和m)的內容,返回一個新的數組
ary.slice(n-1,m)
4. 字符串
4.1 .完成以下字符串處理需求
let time = '2020-04-16';
//->需要獲取的結果是 ‘2020/04/16’
time = time.replace(’-’,’/’).replace(’-’,’/’);
或
time = time.split(’-’); time =${time[0]}/${time[1]}/${time[2]}
;
4.2 簡述字符串截取方法 substr 、 substring 、 slice 三者的區別
substr(n,m)
:截取的是字符串中索引爲n開始的,並且截取m位
substring(n,m):
從索引爲n的位置開始截取,截取到索引爲m的位置但是不包含索引爲m這一項
slice(n,m):
和substring
一樣,但是他可以支持負數索引
5. 程序
最後的目的就是需要我們敲出來程序呀,下面是整理的幾個最小案例,使用的就是上面的這些基礎知識就可以;
5.1 任意數求和(要求輸入的需要過濾,把非有效數字除去)
5.2 url問號傳參解析
5.3 數組去重
5.4 隨機搖號
6. 總結
我們想要學會走首先需要會爬;想要跑首先需要走,每一個過程的都是需要上一個過程做基礎,併爲下一個過程做鋪墊;任何時候,學好基礎知識,一步步的向上走纔是最快的途徑。沒有捷徑,如果真要有,我認爲那就是立馬行動!加油,程序員們!