虾皮IM

变量提升

foo()
var foo = function(){}

这个是会报错的

作用域

var n = 1;

(function foo(){
     n =2
    console.log(n)
}())

console.log(n)

instanceof 实现

object.__proto__ === Object.prototype

function _instanceof(L,R){
  let Ro = R.prototype
  L = Object.getPrototypeOf(L)
  while(L){
    if(L === Ro) return true
    L = Object.getPrototypeOf(L)
  }
    return false
}

http2.0 http3.0

http2.0基于http1.1,保持了长连接和

http3.0 即QUIC 基于UDP协议

异步

以下代码能否正常运行,点击事件能正常处理吗?

function foo(){
  return Promise.resolve().then(foo)
}
foo()

事件循环

setTimeout(()=>{
  console.log('8')
},0)
Promise.resolve().then(()=>{
  console.log('7')
})

function fn1(){
  return new Promise(resolve=>{
    console.log('5')
    resolve()
    console.log('6')
  })
}

async function fn2(){
  console.log('1')
  await fn1()
  console.log('2')
}
fn2()

console.log('3')

为什么React函数组件需要引入React

JSX将代码编译为React.createElement()形式,所有需要引入React

vue 为什么data 用函数声明而不是对象

v8的JS执行过程

electron底层原理

tree sharking 实现原理

ESM和CJS区别,为什么ESM可以tree sharking

应该回答的是ESM不能动态加载,而是需要编译时加载,所以可以做tree sharking

js垃圾回收机制

背包问题

计算最少硬币书凑够相应的钱数

最近更新: