美文网首页
js面试题

js面试题

作者: 小程要谦虚 | 来源:发表于2021-08-26 20:04 被阅读0次
1、let、var、const区别

1、作用域不同,var是函数作用域,而let是块作用域
2、 let不能在定义之前访问该变量,但是var是可以得。
3、 let不能被重新定义,但是var是可以的。
4、const:它用于创建一个不可变变量。

2、js 算法,判断一个数组中的数字出现多少次
let arr = [11, 11, 2, 2, 5, 5, 5, 5, 3];
//创建一个map,把每个数字和其个数相对应
let countObj = {};
for (i = 0; i <= arr.length - 1; i++) {
    let v = arr[i];
    if (countObj[v]) {
        countObj[v]++;
    } else {
        countObj[v] = 1;
    }
}
// console.log(countObj); //{ '2': 2, '3': 1, '5': 4, '11': 2 }
for (let key in countObj) {
    if (countObj[key] === 1) {//判断在对象中出现为1次的是哪个属性
        console.log(key);//3...
    }
}
3、vue.$set

vue为了更加简洁,当data的数据是数组或者对象时,动态的添加或删除,视图将不会更新

4、http状态码有哪些?分别是什么意思?
image.png

1(信息类):表示接收到请求并且继续处理
100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息
2
(响应成功):表示动作被成功接收、理解和接受
200 OK 正常返回信息
201 Created 请求成功并且服务器创建了新的资源
202 Accepted 服务器已接受请求,但尚未处理
3(重定向类):为了完成指定的动作,必须接受进一步处理
301 Moved Permanently 请求的网页已永久移动到新位置。
302 Found 临时性重定向。
303 See Other 临时性重定向,且总是使用 GET 请求新的 URI。
304 Not Modified 自从上次请求后,请求的网页未修改过。
4
(客户端错误类):请求包含错误语法或不能正确执行
400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。
401 Unauthorized 请求未授权。
403 Forbidden 禁止访问。
404 Not Found 找不到如何与 URI 相匹配的资源。
5**(服务端错误类):服务器不能正确执行一个正确的请求
500 Internal Server Error 最常见的服务器端错误。
503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。

5、ES6中新增了什么?

1、定义变量加入了 let const
2、封闭空间 {} 避免全局污染
3、字符串和变量的拼接 ${ }
4、解构赋值 ...
5、箭头函数
6、## map和reduce

数组中新增了map和reduce方法。

map

map():接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回。

举例:有一个字符串数组,我们希望转为int数组

let arr = ['1','20','-5','3'];
console.log(arr)

arr = arr.map(s => parseInt(s));

console.log(arr)
image

reduce

reduce():接收一个函数(必须)和一个初始值(可选),该函数接收两个参数:

  • 第一个参数是上一次reduce处理的结果
  • 第二个参数是数组中要处理的下一个元素

reduce()会从左到右依次把数组中的元素用reduce处理,并把处理的结果作为下次reduce的第一个参数。如果是第一次,会把前两个元素作为计算参数,或者把用户指定的初始值作为起始参数

举例:

const arr = [1,20,-5,3]

没有初始值:

image

指定初始值:

image

Set,本质与数组类似。不同在于Set中只能保存不同元素,如果元素相同会被忽略。跟java很像吧。

6、js箭头函数和普通函数的区别

1、this指向不同
(1)普通函数中的this:
在简单调用中,非严格模式下,指向window。严格模式下,为undefined。
箭头函数没有自己的this,内部this的值,依赖于外部非箭头函数的this。

2、构造函数
(1)普通函数
普通函数可以作为构造函数来用,用new去新建对象实例。
(2)箭头函数
不能当做构造函数去用,并且,会报错。

3、隐式return
(1)普通函数

用return去返回一个函数的结果。无return语句,或者return后面无表达式,则返回undefined。
(2)箭头函数

如果函数仅有一个表达式,那么该表达式的结果会被隐式返回

7、 判断JS数据类型的四种方法

1、typeof
2、instanceof
instanceof用来判断A是否为B的实例,表达式为:A instanceof B,如果A是B的实例,则返回true,否则返回false。instanceof检测的是原型,内部机制是通过判断对象的原型链中是否有类型的原型。
3、constructor


image.png
8、调用接口的方法
image.png

相关文章

  • js基础面试题

    面试题:延迟加载JS有哪些方式? 面试题:JS数据类型有哪些? 面试题:JS数据类型考题 考题一: 考题二: 面试...

  • 前端相关大杂烩

    前端基础面试题(JS部分) 前端基础面试题(JS部分)学习 React.js 比你想象的要简单 原文地址:Lear...

  • 前端JavaScript面试技巧

    1-1 课程概述 要做什么?——讲解前端 JS 基础面试题 哪些部分?——JS 基础,JS-WEB-API,JS ...

  • 2021 web高频面试题新人可看

    当日目标 1 常见面试题分布情况? 2 高频面试题 1 常见面试题分布情况 公司面试题一般分为js,vue,小程序...

  • js 基础面试题

    js 基础面试题 1 js中使用typeof能得到哪些类型? undefined、string、number、bo...

  • 99%的人都会答错的js面试题(你会吗?)(转)

    99%的人都会答错的js面试题(你会吗?)

  • js数组题目

    js面试题 js数组 一、按要求分割数组 将"js,数组,分类"字符串数组以/分割 for循环累加 join()把...

  • 前端JavaScript面试技巧

    先看几道面试题: 1、JS中使用typeof能得到哪些类型。//JS变量类型2、何时使用“==”、“===”。//...

  • js运行机制

    js运行机制 在日常面试求职中,不免会做几道面试题,这面试题中往往会遇到js执行输出顺序,而这运行机制是我们每个前...

  • web前端入门到实战:32道常见的js面试题

    JS面试题: 【点击这里领取面试题资料】[https://jq.qq.com/?_wv=1027&k=fBr6dx...

网友评论

      本文标题:js面试题

      本文链接:https://www.haomeiwen.com/subject/zqayiltx.html