2024 高频前端面试题汇总之js篇(一)

1. js数组上有哪些方法?

f5e47630886ea6c291fe3b3af63e0c8.png

  1. Array.from() 将伪数组转换为真数组
  2. Array.of() 将一组值转换为数组

2. js字符串上有哪些方法?

  1. 添加元素:concat() 拼接
  2. 删除元素:splice() 方法和数组一样的,substring(),substr()
  3. 改:replace() trimRight trimLeft trim padStart padEnd toUpperCase toLowerCase
  4. 查:indexOf includes lastIndexOf find endsWith startWith
  5. 转换: split
const str = 'Mozilla';
console.log(str.substring(1, 3));
// Expected output: "oz"
console.log(str.substring(2));
// Expected output: "zilla"

3. 谈谈js中的类型转换机制

类型转换机制是一种类型转换为另一种类型,分别有隐式类型转换和显示类型转换这俩种转换。 说到类型转换我们要聊到的是有哪些数据类型
简单数据类型:Number string boolean null undefined symbol Bigint
复杂数据类型:[] {} Data Regexp(正则) map set 函数 通常开发过程中,会用到一些显示类型转换的手段来完成逻辑开发 Number() ...等一些 在V8执行过程中还存在另一种类型转换 --- 隐式类型转换

通常发生在 比较运算符 和 算术运算符

== != < > if while

4. [] == ![] 对这个理解

这个问题首先我们要理解对象数据类型转换的顺序


[] == ![] 在这里我们要看逻辑运算符的==俩的优先级谁的大 当然是!的优先级大 当[]转为简单数据类型

1.  **对`!`后面的操作数转换成布尔值**
1.  **将这个布尔值取反**

在这里我们就要用到valueof讲对象转换为布尔值时为false 则这里取反 为true所有 ![]为true
等号的左边我们就要用到数据类型转换的ToPrimitive函数 ,它有两种方法将引用数据类型转换为number 和string
[]经过ToPrimitive会被转换成字符串""。再将等号两边的字符串""和布尔值false转换成数字 0 ,得到 0 == 0 。打印得到 true。 所有总结

[] == ![] [] == !true // 将空数组这个对象类型转换成布尔值  
[] == false // ! 运算符对 true 进行取反  
'' == false // 对 [] 进行 ToPrimitive 操作,返回一个空对象  
0 == 0 // 将等号两边都转换成数字类型

5. == 和 === 的区别?

== 存在隐式类型转换 比较最后的数值
=== 比较数值 还比较数据类型 还比较存储位置

6. 说说你对闭包的理解

  • 是什么 当一个函数中的内部函数被拿到函数外部调用,又因为在js中内层作用域总是能访问外层作用域的,那么内部函数存在对外部函数中变量的引用,这些变量的集合称之为闭包
  • 使用场景:
  1. 创建私有变量 (全局变量不易维护)
  2. 延长变量的生命周期
  3. 实现柯里化(颗粒)

7. 什么是柯里化?

  • 是什么 将一个接受多个参数的函数转变成多个只接受一个参数的函数

如觉得本文对你有帮助的话,欢迎点赞❤❤❤,写作不易,持续输出的背后是无数个日夜的积累,您的点赞是持续写作的动力,感谢支持

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在2023年的前端面试中,可能会涉及到以下几个高频面试题: 1. 浏览器兼容性问题及解决方案:面试官可能会询问你在开发过程中遇到的浏览器兼容性问题以及你是如何解决的。你可以提到一些常见的兼容性问题,比如不同浏览器对CSS属性的支持不一致或JavaScript API的兼容性问题。解决方案可以包括使用CSS前缀、Polyfill库或检测浏览器特性并提供不同的代码实现。 2. 前后端接口文档和接口测试:你可能会被问到在前端开发中如何与后端协作。你可以提到根据后端提供的接口文档进行开发,使用工具(比如Postman)测试接口的可用性和返回值是否符合预期。同时,你还可以提到与后端沟通以了解前端需要的参数和数据结构。 3. 跨域问题及解决方案:面试官可能会问到前端如何实现跨域。你可以解释浏览器的同源策略以及由此带来的限制。然后提到一些解决方案,如使用JSONP、CORS(跨源资源共享)、代理服务器或反向代理等。 综上所述,2023年前端面试可能涉及浏览器兼容性问题及解决方案、前后端接口文档和接口测试、跨域问题及解决方案等。记住在回答面试问题时,要清晰、简洁地说明问题和解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [2023高频前端面试题总结(附答案)](https://blog.csdn.net/weixin_45102366/article/details/125525247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [2023高频前端面试题(含答案)](https://blog.csdn.net/weixin_44672169/article/details/116011608)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值