JavaScript基础,持续更新大厂面试笔试题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

10>5; // true

10<5; // false

10>=5; // true

10>=10; // true

10<=5; // false

10<=10; // true

10==10; // true

10==‘10’; // true 等值判断,只判断值,不判断数据类型

10===‘10’; // false 全等判断,值和数据类型都会判断

10!=‘10’; // false 不等值判断

10!==‘10’; // true 不全等判断

4.逻辑运算符

&& 、|| 、!

&&运算符优先级大于||

逻辑表达式的结果为boolean

&& (与)同时判断多个表达式,必须是所有的表达式结果都是true才会得到true,否则结果为false

10>5 && 10<20; // true

10>5 && 10<5; // false

10<=5 && 10<5; // false

||(或)同时判断多个表达式,只要至少有一个表达式的结果都是true得到的结果就为true,否则结果为false。

10<5 || 10>20; // false

10>5 || 10<5; // true

10>5 || 2<5; // true

!(非)逻辑非表示对结果的否定,进行取反的操作,本身是true的会变成false,本身是false的会变成true

5.一元运算符(自增自减运算符)

i++ 、++i 、i-- 、–i

程序在运行过程中我们需要执行一些记录次数的操作,这时候我们就可以使用自增/自减运算符。

num++/++num的区别?

num++:先执行,再计算

++num:先计算,再执行

6.三元运算符(三目运算符)

语法:条件?表达式1(条件成立时执行):表达式2(条件不成立时执行)

八、数据类型转换

1.强制类型转换——显式转换

(1)转换为:string

(2)转换为:number

(3)转换为:boolean

2.自动类型转换——隐式转换

(1)转换为:string

任何数据是字符串相加都是字符串的拼接操作,得到的结果也都是字符串

(2)转换为:number

对数字类型的自动转换我们可以使用:

  • 直接在要转换的内容前加上”+”;

  • 可以使用-、*、/、%、>、<等将字符串转换成number

(3)转换为:boolean

逻辑运算符 ! 的操作

九、流程控制语句

顺序、分支、循环

if条件分支结构

1.if语句(单分支)

if(条件表达式){

//条件表达式结果为true时执行代码块

}

2.if…else语句(双分支)

if(条件表达式){

//条件表达式结果为true时执行代码块

}else{

//条件表达式结果为false时执行代码块

}

//判断一个年份,判断闰年还是平年
var year = prompt(“请输入一个年份”);
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
alert(year + “是闰年”);
}else{
alert(year + “是平年”);
}

3.if…else if语句(多分支)

if(条件表达式){

//    条件表达式结果为true时执行代码块

}else if(条件表达式){

//    条件表达式结果为true时执行代码块

}else{

//  条件表达式结果为false时执行代码块

}

//判断一个数字,是偶数还是奇数
var num = prompt(“请输入一个数字”);
if (num == “” || num==null || isNaN(num)) {
alert(“请输入一个正确的数字”)

} else if (num % 2 == 0) {
alert(num + “是一个偶数”)

} else {
alert(num + “是一个奇数”)
}

switch条件分支结构

适合做等值判断

switch的匹配是全等匹配

结构:

switch(变量:判断的值){

case 值1:

//如果变量的值和case的值1全等,则会执行此处的代码

break;

case 值2:

//如果变量的值和case的值2全等,则会执行此处的代码

break;

case 值3:

//如果变量的值和case的值3全等,则会执行此处的代码

break;

default:

//如果变量的值和case的值都不全等,则会执行此处的代码

break;

}

//根据用户输入的数字判断今天星期几
var num = prompt(“请输入一个数字”);
switch(num){
case 1:
alert(“星期一”);
break;
case 2:
alert(“星期二”);
break;
case 3:
alert(“星期三”);
break;
case 4:
alert(“星期四”);
break;
case 5:
alert(“星期五”);
break;
case 6:
alert(“星期六”);
break;
case 7:
alert(“星期日”);
break;
default:
alert(“输入有误,请输入1-7的数字”);
break;
}

switch语句中break是必须的,如果缺失break会发生switch穿透(case穿透)。

break语句作用是为了跳出switch。

switch穿透(case穿透)

switch 语句中,"case 穿透"是指当一个 case 分支中的代码执行完毕后没有遇到 break 语句而是继续执行下一个 case 分支的代码的情况。这种现象可能会导致意想不到的结果,因为即使后续的 case 条件不匹配,其对应的代码仍然会被执行。

当缺失了 break 语句时,程序会顺序执行匹配到的 case 分支,并继续执行后续的 case 分支,直到遇到 break 或者 switch 结束。这种情况下,程序的执行路径会穿透多个 case 分支,可能与我们预期的逻辑不符。

为了避免 case 穿透问题,通常建议在每个 case 分支的末尾添加 break 语句,以确保在执行完相应的分支代码后跳出 switch 语句,避免程序继续向下执行其他 case 分支的代码。

总之,case 穿透是指在 switch 语句中由于缺少 break 语句而导致程序从一个 case 分支顺序执行到下一个 case 分支的情况,这可能会引起逻辑错误和程序行为异常。

if分支语句和switch分支语句区别

if分支语句适合做区间判断和等值判断

switch分支语句做等值判断,不推荐做区间判断

互换两个变量的值

1.通过第三方变量实现

针对任何类型的数据

var c = a;
a = b;
b = c;
console.log(a);
console.log(b);

2.通过运算符的方式来实现

仅针对number类型的值可以实现值互换

x = x + y;
// 22+33
y = x - y;
// 55-33
x = x - y;
// 55-22
console.log(x);
console.log(y);

循环结构

1.while()循环

while (循环的停止条件) {

// 循环体

//  更新变量

}

2.死循环

我们在编写循环程序的时候一定要注意给循环结构留出一个出口,也就是说循环程序运行到一定的程度必须要结束,否则程序就会进入死循环。

死循环是指程序一直停留在某一阶段重复执行某一些操作而不会继续执行后面的代码。这种现象对内存资源的消耗是非常巨大的,正常的情况就是内存溢出。

内存溢出(out of memory)

**内存溢出(out of memory)**通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。

3.do…while()循环

var num = 1; //1.初始化循环变量

do{

//3.循环体

document.write(“hello world”);

//4.更新循环变量

num++;

}while(num<=10) //2.判断循环条件,结果为true进入循环体,结果为false跳出循环

执行步骤:1》3》4》2》3》4》2…

4.for循环

for( 1,初始化循环变量 ; 2,循环条件 ; 4,更新变量 ){
3,循环体
}

5.for、while、do…while的区别

while和do…while循环体的区别?

  • 当条件为false时,while一次都不会执行,先判断再执行
  • 当条件为false时,do…while至少会执行一次,先执行再判断

while和for循环体的区别?

  • 循环次数确定的情况,通常选用for循环
  • 循环次数不确定的情况,通常选用while
6.break语句和continue语句

break语句也可以用在循环语句中,也可以跳出循环语句。

continue是跳出本次循环,直接进入下一次循环操作。

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》

前端面试题宝典

前端校招面试题详解

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》

[外链图片转存中…(img-QNBbZrow-1713683633018)]

[外链图片转存中…(img-0XkmO38q-1713683633018)]

[外链图片转存中…(img-VzHX2TDy-1713683633019)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-kXWNDL6b-1713683633019)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值