前端面试题

计算机网络

通信三要素

通信的主体、通信的内容、通信的方式

TCP三次握手与四次挥手

HTTP

HTML

CSS

清除浮动的方式

JavaScript

ES6新特性

Promise(),async,await;
let,const
箭头函数

箭头函数特点

没有自己的this,this是外层作用域的this
不能实例化
没有arguments参数

数组

数组方法

Array.isArray()
forEach()
filter()
splice()
Array.prototype.fill():可以快速生成含n个1的数组

遍历数组的方法

forEach()、for...in,for...of

数组排序

数组去重

重绘与回流

什么情况下

事件执行过程

栈,队列,异步,同步,异步,宏任务,微任务
哪些是同步任务,
常见的异步任务有:定时器回调任务,AJAX请求、读写文件操作

JS数据存储原理

哪些存在堆里,哪些存在栈里

原型链

构造函数有显示原型(prototype)和隐式原型()

null和undefined的区别

子元素居中的方法

  1. flex布局
    父元素设置display:flex;justify-content: center;

  2. 设置绝对定位

{
}

同源策略与跨域

节流阀/互斥锁

8大数据类型

基本数据类型:Number,String,Boolean,null,undefined,symbol,bigint(后两个为ES6新增)
引用数据类型:object

apply() call() bind()

详见:
https://www.bilibili.com/video/BV1XX4y1w7R6/?spm_id_from=333.337.search-card.all.click
https://www.bilibili.com/video/BV1944y1q7N4/?spm_id_from=333.337.search-card.all.click&vd_source=efd4241fdf9061e2f928f58914d04b92
作用:

  • 改变函数的this, call() apply() bind()的第一个参数,将会成为调用函数的this
  • 实现多重继承,但只能继承实例的属性和方法,不能完全继承原型上的属性和方法
    异同
  • 都是函数的方法
  • 无法通过call apply 和 bind修改箭头函数的this(因为它本身没有this)
  • apply() call()还可以调用函数,fn()与fn.apply()/fn.call()等效
  • 而fn.bind()不能调用函数,fn()与fn.bind() fn()等效,所以用bind()指定this后别忘了调用函数或将返回值赋值给一个变量
  • bind()返回一个新函数,不影响原来的函数。bind为返回的新函数绑定this和其他参数(绑定后不可修改)
  • call()与apply()的区别就是第一个参数后的参数不同,call()后面的参数是单独用逗号隔开的,apply后面的参数是一个数组
    • call("指定的this对象",参数1,参数2,参数3,···)
    • apply("指定的this对象",arr) arr=[参数1,参数2,参数3,···]
let dog = {
name: "旺财",
eat(food1, food2) {
console.log("我是" + this.name)
console.log("我喜欢吃" + food1 + food2)
}
}
let cat = {
name: "喵喵"
}
//变量作为参数不需要加引号
dog.eat.apply(cat, ["鱼", "肉"])
dog.eat.call(cat, "鱼", "肉")
let newFn = dog.eat.bind(cat, "鱼", "肉")
newFn()

image
继承示例

function Animal(){
this.eat=function(){
console.log("吃东西")
}
}
function Bird(){
this.fly=function(){
console.log("飞翔~");
}
}
function Cat(){
// 继承实例属性和方法
Animal.call(this)
Bird.call(this)
// Cat本身的属性和方法
this.say=function(){
console.log("喵呜~");
}
}
const cat=new Cat()
cat.eat()
cat.fly()
cat.say()

image

本文作者:Code6E

本文链接:https://www.cnblogs.com/road2code/p/17074162.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Code6E  阅读(25)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.