《WEB前端面试题个人合集》第1期:第一题到第十三题的个人解析【诗书画唱】


前面我发布的2篇的主要内容为面试题问答的专栏中也有部分是自己写的解析等等。还可以CTRL+F一些关键词,来查看第二十二题到第六十一题的解析等等,包括一些函数的使用,专有名称的含义,单词的读音,意思。一些补充,修正等内容我会写在专栏等的评论区
第一题的解析
第二题的解析
第三题的解析
第四题的解析
第六题的解析
第七题的解析
第九题的解析
第十题解析
第十一题解析
第十二题解析
第十三题解析
清辅音/p/的发音方法

OPTIONS:请求旨在发送一种“探测”请求以确定针对某个目标地址的请求必须具有怎样的约束(比如应该采用怎样的HTTP方法以及自定义的请求报头),然后根据其约束发送真正的请求。比如针对“跨域资源”的预检(Preflight)请求采用的HTTP方法就是OPTIONS。

第一题的解析
es6模块化

let

parse

JSON.parse



const

async



await


filter

every



includes


可用字符串的includes方法时要留意的一点是include方法区分大小写。
在JavaScript中还有一种与includes方法用法完全相同的方法indexOf。

find



手机和PC端(CTRL+滑动鼠标滚轮)都上看此图可放大图片后观看



reduce


trim



startsWith

endsWith

json

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执行回调函数的。


some

第二题的解析
块级作用域

函数作用域:变量在定义的环境中以及嵌套的子函数中处处可见;
块级作用域:变量在离开定义的块级代码后立即被回收。
作用域
变量提升

第三题的解析
XMLHttpRequest = XML + Http + Request 。
XMLHttpRequest对象的本质是一个可以发送Http请求,处理Http响应,与服务器之间进行异步交换数据的对象,其核心是Http。然后介绍了Http请求和响应包括的具体内容。Http请求包括:方法,URL,请求头,请求主体。Http响应包:状态码,响应头和响应主体。
xmlhttprequest的大小写



(获取http请求状态的status)200和(也是获取状态的readyState)4分别是请求成功和处理完毕
status

state

response

你向ajax后台的程序发送xmlhttp请求的时候, 后台程序接到请求会进行处理,处理结束后,可以返回一串数据给前台,这个就是responseText.

send

ready

第四题的解析
listener

click

event

第六题的解析
arguments

apply


bind

bind,call,apply的作用都是用来改变this指向的。

generator

ECMAScript 6 (简称 ES6 )。


yield

target

prototype


第七题的解析
splice


join


第九题的解析
DOM,全称“DocumentObjectModel(文档对象模型)”,它是由W3C组织定义的一个标准。
在前端开发时,我们往往需要在页面某个地方添加一个元素或者删除元素,这种添加元素、删除元素的操作就是通过DOM来实现的。
说白了,DOM就是一个接口,我们可以通过DOM来操作页面中各种元素,例如添加元素、删除元素、替换元素等。这下大家就懂了吧。记住,DOM就是文档对象模型,文档对象模型就是DOM,很多人在学习DOM的时候看到“文档对象模型”还不知道是什么?
类数组对象,意思就是说:表面上看起来是数组,但内在却不是数组。在Javascript语言中,我们会碰到许多这样的类数组对象。其中最典型的便是function中的arguments。
function add(a, b) {
var args = arguments;
console.log(args); // => [3, 4]
console.log(Object.prototype.toString.call(args));
// => [object Arguments]
console.log(args.length); // => 2
console.log(args.slice);
// => undefined
return a + b;}
add(3, 4);
我们发现,当我们去打印arguments的类型时,浏览器输出了[object Arguments]
,并且在arguments对象中,slice方法都没有,这说明argument对象确实不是数组,而是一个类数组对象。为了享受数组的那些便捷方法,所以我们需要将类数组对象转换成真正的数组对象。
通常来说,只要[].slice.call就能转换了。
function toArray(arrayLike) {
return [].slice.call(arrayLike);
}
slice



第十题解析
bind

apply

第十一题解析
filter


item

Set


Array.from 方法可以将 Set 结构转为数组。
[... new Set(arr)]就是先用...操作符把new Set(arr)这个成员唯一,无序且不重复的Set集合的元素变成可变数量参数的多个的独立的对象后放在[ ]中,就变成了数组。
解构:拆分一个普通对象或者数组,将对象的属性或者数组元素赋值给指定的变量。
个人理解:...有拆分的作用,和拆分后对应的复制的解构不同。

rest理解为可变数量参数,组合
spread理解为扩展。
个人理解:解构是{}和[...]等中的一种语法,是语法糖。


https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

扩展运算符...
作用是把数组或类数组对象展开成一系列用逗号隔开的值(个人理解:把数值等等扩展成很多单独的对象)
rest参数...
作用与扩展运算符恰好相反,把逗号隔开的值序列组合成一个数组
//主要用于不定参数,所以ES6开始可以不再使用arguments对象

indexOf

lastIndexOf


第十二题解析
inherit

第十三题解析
chrome

webkit

blink


trident

戟

Safari

core

script

清辅音/p/的发音方法

gecko

Opera

software
