面试(JS篇)
1.js基本类型
Boolean,Number,String,Null,Undefined,Symbol.
2.null非对象,但是typeof null 返回的是Object,原因遗留下来的一个bug,000开头是对象,而null是000
3.原始类型存储的是值,而对象存储的是地址(指针),函数参数为对象,函数传参是传递对象的指针副本
const a = [] const b = a p.push(1) a = [1] // a,b都代表地址,一个改变都改变
4.typeof
Number,String,Boolean,Function可,
Array,Object,Null不可
5.instanceof(得对象)
6.Object.prototype.toString.call()啥都可以
7.类型转化 下面的=是转换为的意思,并非赋值
Boolean
Number, 0,-0,NaN=false, 其他都是true
String ' ' = false 其他都是true
undefined unll false
引用类型 ture
String
Number 5='5'
Boolean.函数,symbol,string 'true'
数组 [1,2]=‘1,2’
对象 ‘[object Object]’
Number
String '1'=1 'a'=NaN
数组 空数组=0,只有一个元素的数组[5]=5 其他NaN
null null=0
出数组外的引用类型 NaN
symbol 抛错
8.四则运算 一方为字符串String,把另外一方转为String
一方不是String Or Number,则转为
除加法外,一方是Number,另一方转为Number
对象转化为原始类型,调用[[ToPrimitive]]
let a = {valueOf(){return 0 }, toString(){return'1'}}
字符串调用toString,非字符串用valueOf
9.bind,call,apply改变this的指向,
区别,call bind接受的是参数列表,apply接受的是数组
bind返回的是方法()需要调用
10.this的指向问题
(1)普通函数,指向window
(2)构造函数中的this,指向当前构造函数所创建的对象
(3)方法中的this,指向方法所属的对象
(4)事件处理函数中的this,指向事件源,谁调用指谁
function foo(){ console.log(this.a) } var a = 1; foo()//window const obj = {a:2,foo:foo} obj.foo//obj const c = new foo()//c
11.箭头函数没有this,取决于包裹的第一个普通函数,多次bind由第一次决定
12.==。===的区别
判断x==y,首先判断x,y类型相同与否,相同则判断x===y,不同则
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix