wdnmd

面试(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,不同则

 

posted @   FreshChick  阅读(168)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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
点击右上角即可分享
微信分享提示