1、==
和===
的区别
双等号判断时,只需要值相等
三等号判断时,需要值与类型都相等
2、函数声明与函数表达式的区别?
函数声明就是直接通过function进行声明函数,例如:function show(){}
可以在声明函数之前调用0
函数表达式就是把一个函数作为一个表达式赋值给一个变量,例如:var fn = function(){}
不可以在函数赋值之前调用
3、数组方法pop() push() unshift() shift()
pop()尾部删除
push()尾部添加
unshift()头部添加
shift()头部删除
4、ajax请求的时候get 和post方式的区别
get请求
参数要跟在url后面
安全性不高
传输数据比较小,但速度快
一般用于获取,删除
post请求
参数会放在请求体中,
安全性相对高些
传输数据大,但相对速度慢些
post一般用于修改或者添加
5、解释什么是Json:
json是一种轻量级的数据交换格式,一般用于数据传递
里边只允许出现双引号
JSON的语法表示三种类型值,简单值(字符串,数值,布尔值,null), 数组,对象
6、dom事件委托什么原理,有什么优缺点
事件委托原理: 事件冒泡机制(把子元素的事件行为 委托给 父级元素执行优点)
优点:
1. 可以大量节省内存占用,减少事件注册
2. 可以实现当新增子对象时,无需再对其进行事件绑定
缺点:
如果把所有事件都用事件代理,可能会出现事件误判
7、Javascript的事件流模型都有什么?
“事件冒泡”:事件逐级向上传播
“事件捕捉”:事件逐级向下传播,一直到最具体的
“DOM事件流”:三个阶段:事件捕捉,目标阶段,事件冒泡
8、split() join() 的区别
split():以指定的字符分割字符串返回一个数组,字符串方法
join(): 以指定的字符连接数组中元素返回一个字符串,数组方法
9、如何阻止事件冒泡
ev.stopPropagation();
10、如何阻止默认事件
答案:return false 或者 ev.prevent Default();
后面更新的面试题都集合在这个链接中2022最全最新前端面试题(附加解答)_心如天然薄荷清凉的博客-CSDN博客_前端面试题