JavaScript高频面试题(二)
1:THIS的指向
1.函数中指向window
2.对象方法中指向当前对象
3.事件回调函数中指向事件源(当前节点)
4.箭头函数中,没有固定指向,一般指向宿主对象
5.构造函数中,指向实例化后的对象
2:innerHTML和innerText的区别
1.innerHTML返回的是标签内的 html内容,包含html标签。
2.innerText返回的是标签内的文本值,不包含html标签。
2-1:扩展
(1)原生js写法 document.getElementById(‘test’).innerHTML
(2)jQuery写法 $(’#test’).html()
3:onmouseover,onmouseout与onmouseleave,onmouseenter
1、onmouseover、onmouseout:鼠标经过时自身触发事件,经过其子元素时也触发该事件;(父亲有的东西,儿子也有) ,支持冒泡
2、onmouseenter、onmouseleave:鼠标经过时自身触发事件,经过其子元素时不触发该事件。(父亲的东西就是父亲的,不归儿子所有) ,不支持冒泡
4:for-in 和 for-of 的区别
5:rgba()和opacity的透明效果有什么不同
rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于元素,以及元素内的所有内容的透明度
6:内置对象,宿主对象,自定义对象的区别?
1、内置对象:系统所提供的对象;Object、Array、Math、Date等等。
2、宿主对象:JS所运行的环境提供的对象比如:BOM中的Window、DOM中的document。
3、自定义对象:自定义构造函数所创建的对象。
7:cookie的特点
统一网站可以共享 不同浏览器 不能共享 没有设置有效期浏览器关闭则消失
8:<!doctype>的作用
告诉浏览器解析器,用什么文档类型,规范来解析这个文档
9:原型对象的作用
原型对象,是用来解决构造函数在创建实例的时候,防止重复执行所导致的性能的降低(这里主要指占用内存),来为服用带来方便。
10:ajax的最大特点是什么?
ajax 可以实现异步通信 实现页面局部 刷新,带给客户更好的体验,节约宽带资源
11:cookie,localstorage,sessionstorage,一分钟让你了解它们
12:foo.bind(A).bind(B).bind©的指向
bind是永久绑定,所有指向是A
13:background-size cover和contain的区别
1.在no-repeat情况下,如果容器宽高比bai与图片宽du高比不同
cover:图片宽高比不变、铺满整个容器的宽高,而图片多出的部分则会被截掉;
contain:图片自身的宽高比不变,缩放至图片自身能完全显示出来,所以容器会有留白区域;
2.在repeat情况下
cover:与上述相同;contain:容器内至少有一张完整的图,容器留白区域则平铺背景图,铺不下的再裁掉。