JavaScript | 关于闭包 这些东西要知道
“请你讲一下闭包”——这道题几乎是前端面试必问的问题,今天我试着总结一下如何优雅的回答这道题 闭包是什么? 闭包是有权限访问其他函数作用域内的变量的一个函数。 这是《JavaScript高级程序设计》中给出的定义,如果你想就用这一句话就把面...
“请你讲一下闭包”——这道题几乎是前端面试必问的问题,今天我试着总结一下如何优雅的回答这道题 闭包是什么? 闭包是有权限访问其他函数作用域内的变量的一个函数。 这是《JavaScript高级程序设计》中给出的定义,如果你想就用这一句话就把面...
在进行窗口的resize、scroll,输入框内容校验等操作时,如果事件处理函数调用的频率无限制,会加重浏览器的负担,导致用户体验非常糟糕。此时我们可以采用debounce(防抖)和throttle(节流)的方式来减少调用频率,同时又不影响...
什么是JavaScript JavaScript一种动态类型、弱类型、基于原型的客户端脚本语言,用来给HTML网页增加动态功能。(好吧,概念什么最讨厌了) 动态: 在运行时确定数据类型。变量使用之前不需要类型声明,通常变量的类型是被赋值的那...
localStorage/sessionStorage是在html5中新加入的技术,两者除了数据的时效性不一样之外,其他都一样。大小一般为5MB,存储的时候,仅仅在客户端存储,不会随着请求的调用而传递到服务器。 localStorage不手...
前端共有以下几种本地存储方式 cookie localStorage sessionStorage webSQL/indexDB cookie HTTP协议 http:超文本传输协议 https:超文本传输安全协议 http协议的一个特点是...
var let 及 const 区别 先来了解提升(hoisting)这个概念。 从上述代码中我们可以发现,虽然变量还没有被声明,但是我们却可以使用这个未被声明的变量,这种情况就叫做提升,并且提升的是声明。 接下来我们再来看一个例子 对于这...
当我们创建一个对象时 let obj = { age: 25 },我们可以发现能使用很多种函数,但是我们明明没有定义过它们,对于这种情况你是否有过疑惑? 当我们在浏览器中打印 obj 时你会发现,在 obj&n...
实现一个深拷贝是很困难的,需要我们考虑好多种边界情况,比如原型链如何处理、DOM 如何处理等等,所以这里实现的深拷贝只是简易版。
For in VS For of 例子1: 当使用for in遍历对象时,会正常打印出对象的key值。当使用for of遍历对象时,会报错,也就是说for of不能用于对象遍历。 例子2: 当使用for in遍历数组时,会打印出数组的下标。...
涉及面试题:async 及 await 的特点,它们的优点和缺点分别是什么?await 原理是什么? 一个函数如果加上async,那么该函数就会返回一个Promise async就是将函数返回值使用Promise.resolve()包裹了下...
Promise 的特点是什么,分别有什么优缺点?什么是 Promise 链?Promise 构造函数执行和 then 函数执行有什么区别? Promise翻译过来就是承诺的意思,这个承诺在未来会有一个确切的答复,并且Promise有三种状态...
JSONP简介 jsonp是一种跨域通信的手段,他的实现过程分为三步: 1、首先利用script标签的src属性实现跨域 2、通过将前端方法作为参数传递到服务端,然后由服务器端注入参数之后再返回,实现服务器端向客户端通信。 3、由于使用sc...
Ajax定义 Ajax的全称是Asynchronous JavaScript and XML(即异步的JavaScript和XML,它并不是一种新的编程语言,而是集中原有 技术的结合体) Ajax是一种无需重新加载整个网页的情况下,能够更新...
注意:Object.prototype.toString.call()可以识别标准类型及内置对象类型,但不能识别自定义类型 typeof() typeof运算符用于判断对象的类型,但是对于一些创建的对象,它们都会返回object。 inst...
location提供了与当前窗口中加载的文档的有关信息,还提供了一些导航功能。location是一个特别的对象,它既是window对象的属性,也是document对象的属性,而且还可以单独使用。 属性 location将URL解析成独立的片...