欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javascript基础知识练习题

程序员文章站 2024-03-15 23:26:18
...

无论学习什么语言,基础是决定高度的一大因素,本文是我整理的javascript基础题目,不难,都是最基础的知识。值得一刷
javascript基础知识练习题

1.数据类型 / 变量

1.1 JS中的数据类型都有哪些,他们之间的区别是什么?

javascript基础知识练习题

javascript基础知识练习题

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%查看效果最加

javascript基础知识练习题

1.4 创建变量的方式

javascript基础知识练习题

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

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