javascript基础知识练习题

无论学习什么语言,基础是决定高度的一大因素,本文是我整理的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的应用

A3-'1px'?alert(2):alert(3);
B3+'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. 总结

我们想要学会走首先需要会爬;想要跑首先需要走,每一个过程的都是需要上一个过程做基础,并为下一个过程做铺垫;任何时候,学好基础知识,一步步的向上走才是最快的途径。没有捷径,如果真要有,我认为那就是立马行动!加油,程序员们!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章