共计 1113 个字符,预计需要花费 3 分钟才能阅读完成。
手写 new
创立一个空对象
连 prototype
扭转 this 指向
返回 看他在不在 Object 上
setTimeout 实现 setInterval
每秒执行 settimeout
sleep()
add
用 array.from(argument) 将类数组对象转为数组
用 push 将其余项加进去,return 新数组
数组求和,应用数组隐式转换
valueOf:数组运算,返回最适宜该对象类型的原始值
toString:字符串运算,将该对象的原始值以字符串模式返回
深拷贝 浅拷贝
浅拷贝:
深拷贝:
判断返回类型是数组还是对象,克隆对象
手写 apply call bind
雷同:
call 和 apply 都是为了解决扭转 this 的指向。作用都是雷同的,只是传参的形式不同。
他们第一个参数都是 this 的指向
区别:
apply 传入的是数组,返回原函数
call 传入的是参数列表,一次性传入,返回原函数
bind 传入也是参数列表,能够屡次传入,返回新函数,并且咱们能够通过 bind 实现柯里化,返回函数的拷贝值,然而带有绑定的上下文,它不会立刻执行
call
apply
bind:
https://juejin.im/post/6844903682455109640#heading-3
https://www.jianshu.com/p/db49179caca1
https://zhuanlan.zhihu.com/p/150721732
手写防抖和节流
https://juejin.cn/post/6844903669389885453
https://zhuanlan.zhihu.com/p/72923073
防抖:多少秒后执行一次
设置定时器,革除再设置 1 秒执行。
<!– 防抖:设置定时器,在几秒后扭转函数的 arguments(类数组对象),在执行前须要先 clear 革除定时器 –>
闭包
工夫戳 闭包
节流:在规定工夫内继续触发只会执行一次
<!– 节流:在规定工夫内继续触发只会执行一次,在防抖的根底上减少一个开关,通过一个开关,与定时器 setTimeout 联合实现 –>
设置标记,
手写实现 repeat/ 复制字符串
手写实现 trim/ 去除前后空格
手写实现 instanceof
冒泡排序
比拟相邻的两个数 小的放在后面
https://www.cnblogs.com/onepixel/articles/7674659.html
抉择排序
遍历数组 而后抉择一个最小数值标识位 放在最后面 顺次排序
比拟最小索引
手写 promise
毛病:一旦执行 不能更改
.then 的链式调用
初始值 pending
胜利的值
失败的起因
一个寄存胜利的数组
一个寄存失败的数组
当 state 的状态扭转,resolve 调用将状态转为胜利并贮存胜利的值