WEB前端高频面试题(三)—— JS八股文

玻璃晴朗,橘子辉煌。

——北岛《过节》

原文:”一位本地英雄 ,在废弃的停车场上 ,唱歌 ,玻璃晴朗 ,桔子辉煌 。”

释义:他在一个废弃的停车场上唱着歌,如同玻璃透明而明朗,如同橘子一般青涩而辉煌。

JavaScript基础面试题

        JavaScript在Web前端开发中扮演着重要的角色,它是实现网页交互性和动态性的关键技术。掌握JavaScript对于成为一名成功的前端开发人员来说是至关重要的。

        理解JavaScript语言的核心概念、语法和特性。这样,在面试中被问到相关问题时,便能够更自信地回答。

延迟加载JS有哪些方式(async、defer)?

 延迟加载:async、defer
         例如:<script defer type="text/javascript" src='script.js'></script>
         
 defer : 等html全部解析完成,才会执行js代码,顺次执行js脚本。
 async : async是和html解析同步的(一起的),不是顺次执行js脚本(谁先加载完谁先执行)。

JS数据类型有哪些?

 基本类型:string、number、boolean、undefined、null、symbol、bigint
 引用类型:object
 ​
 NaN是一个数值类型,但是不是一个具体的数字。

JS数据类型考题

考题一:

 console.log( true + 1 );                //2
 console.log( 'name'+true );             //nametrue
 console.log( undefined + 1 );       //NaN
 console.log( typeof undefined ); //undefined

考题二:

 console.log( typeof(NaN) );       //number
 console.log( typeof(null) );      //object

null和undefined的区别

 1. 作者在设计js的都是先设计的null(为什么设计了null:最初设计js的时候借鉴了java的语言)
 2. null会被隐式转换成0,很不容易发现错误。
 3. 先有null后有undefined,出来undefined是为了填补之前的坑。
 ​
 具体区别:JavaScript的最初版本是这样区分的:null是一个表示"无"的对象(空对象指针),转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。

== 和 === 有什么不同?

 ==  :  比较的是值
         
         string == number || boolean || number ....都会隐式转换
         通过valueOf转换(valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。)
 ​
 === : 除了比较值,还比较类型

JS微任务和宏任务

 1. js是单线程的语言。
 2. js代码执行流程:同步执行完==》事件循环
     同步的任务都执行完了,才会执行事件循环的内容
     进入事件循环:请求、定时器、事件....
 3. 事件循环中包含:【微任务、宏任务】
 微任务:promise.then
 宏任务:setTimeout..
 ​
 要执行宏任务的前
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值