金三银四,这些JavaScript、ES6前端面试题及答案解析您看了吗?

JavaScript、ES6基础面试题及答案解析②

1、js基本数据类型有哪些?

答:字符串String,数值Number,布尔 boolean,null,undefined,对象,数组

2、Ajax如何使用

一个完整的AJAX请求包括五个步骤:

  1. 创建XMLHTTPRequest对象

  2. 使用open方法创建http请求,并设置请求地址:
    xhr.open(get/post , url , async , true(异步) )经常使用前三个参数

  3. 设置发送的数据,用send发送请求

  4. 注册事件(给ajax设置事件)

  5. 获取相应并更新页面

3、如何判断一个数据类型是NaN?

NaN 非数字 但是用typeof 检测是 Number 类型

  • 利用NaN的定义,用typeof判断是否为Number类型并且判断是否满足isnan
  • 利用NaN是唯一一个不等于任何自身的特点 n! == n
  • 利用ES6中提供的Object.is()方法(判断两个值是否相等)n==nan

js中null与undefined的区别:

相同点:用if判断时,;两者都会被转为false
不同点:

  • number转换的值不同 number(null)为0 number(undefined)为NaN
  • null表示一个被值被定义了,但是这个值是空值
  • undefined 变量声明但未赋值

4、闭包是什么?有什么特性?对页面有什么影响?

闭包可以简单理解成:定义在一个函数内部的函数。其中一个内部函数在包含他们的外部函数之外被调用时,就会形成闭包。
特点:

  • 函数嵌套函数。
  • 函数内部可以引用外部的参数和变量。
  • 参数和变量不会被垃圾回收机制回收。
    使用:
  • 读取函数内部的变量;
  • 这些变量的值始终保存在内存中,不会再外层函数调用后被自动清除。
    优点:
  • 变量长期驻扎在内存中;
  • 避免全局变量的污染;
  • 私有成员的存在;
    **缺点:**会造成内存泄漏

5、谈谈js中常见的内存泄漏:

  • 意外的全局变量
  • 被遗忘的计时器或回调函数
  • 脱离DOM的引用
  • 闭包

6、事件委托是什么?如何确定事件源(Event.target 谁调用谁就是事件源)

js高程上将:事件委托就是利用事件冒泡,只制定一个时间处理程序,就可以管理某一类型的所有事件。

事件委托,称事件代理,是js中很常见的绑定事件的技巧,事件委托就是把原本需要绑定在子元素的所有响应事件委托给父元素,让父元素担当事件监听的职务,事件委托的原理是DOM元素的事件冒泡。

7、什么是事件冒泡?怎么阻止事件冒泡?

一个事件触发后,会在子元素和父元素之间传播,这种传播分为三个阶段:

  • 捕获阶段:从window对象传导到目标节点(从里到外)
  • 目标阶段:在目标节点上触发
  • 冒泡阶段:从目标节点传回到window对象(从里到外)

事件委托/事件代理就是利用事件冒泡的机制把里层需要响应的事件绑定到外层

阻止事件冒泡

  1. 标准写法:e.stopPropagation()
  2. IE6-8的非标准写法:e.cancelBubble = true

8、本地存储与cookie的区别

cookie是小饼干的意思。说以cookie确实非常小,他的大小限制为4kb左右。他的主要用途有保存用户登录信息。

localStorage

localStorage是HTML5标准中新加入的技术,他并不是什么划时代的新东西。早在IE6时代,就有一个叫userData的东西用于本地存储,而当时考虑到浏览器的兼容性,更通用的方案是Flsah。而如今,localStorage北大多数浏览器所支持,如果你的网站需要兼容IE6+,那么使用userData方案是不错的选择

sessionStorage

sessionStorage与localStorage的接口类似,但保存数据的生命周期与localStorage不同。session这个词的翻译的意思就是“会话”。而sessionStorage是一个前端的概念,他只是可以将一部分数据在当前会话中保存下来,刷新页面数据依旧存在。但当页面关闭后,
sessionStorage中的数据就会被清空。

散着的异同
在这里插入图片描述

9、ES6新特性

const和let、模板字符串、箭头函数、函数的参数默认值、对象和数组解构、for…of 和 for…in、ES6中

  • 9
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

管乐明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值