JS——面试题第一篇

简介: 面试题第一篇

1、split() 、join() 的区别

前者是切割成数组的形式,后者是将数组转换成字符串

2、数组方法 pop() push() unshift() shift()

Push()尾部添加 pop()尾部删除;Unshift()头部添加 shift()头部删除

3、事件绑定和普通事件有什么区别

普通添加事件的方法:

var btn = document.getElementById("hello");
btn.onclick = function(){
alert(1);
}
btn.onclick = function(){
alert(2);
}

只会弹出alert2

事件绑定方式添加事件:

var btn = document.getElementById("hello");
btn.addEventListener("click",function(){
alert(1);
},false);
btn.addEventListener("click",function(){
alert(2);
},false);
执行上面的代码会先 alert 1 再 alert 2

普通添加事件的方法不支持添加多个事件,最下面的事件会覆盖上面的,而事件绑定

(addEventListener)方式添加事件可以添加多个。

addEventListener 不兼容低版本 IE

普通事件无法取消

addEventLisntener 还支持事件冒泡+事件捕获

4、 IE 和 DOM 事件流的区别

1.执行顺序不一样

2.参数不一样

3.事件加不加 on

4.this 指向问题

5、IE 和标准下有哪些兼容性的写法

Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target

6、call 和 apply 的区别  

call 方法:

语法:call(thisObj,Object1,Object2...)

定义:调用一个对象的一个方法,以另一个对象替换当前对象。

说明:

call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始

的上下文改变为由 thisObj 指定的新对象。

如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。

apply 方法:

语法:apply(thisObj,[argArray])

定义:应用某一对象的一个方法,用另一个对象替换当前对象。

说明:

如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个

TypeError。

如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且

无法被传递任何参数

7、添加 删除 替换 插入到某个接点的方法

obj.appendChid()
obj.insertBefore()
obj.replaceChild()
obj.removeChild()

8、javascript 的本地对象,内置对象和宿主对象

本地对象为 array obj regexp 等可以 new 实例化

内置对象为 gload Math 等不可以实例化的

宿主为浏览器自带的 document,window 等

9、window.onload 和 document ready 的区别

window.onload 是 在 dom 文档树加载完和所有文件加载完之后执行一个函数

Document.ready 原生种没有这个方法,jquery 中有 $().ready(function),在 dom 文档树

加载完之后执行一个函数(注意,这里面的文档树加载完不代表全部文件加载完)。

$(document).ready 要比 window.onload 先执行

window.onload 只能出来一次,$(document).ready 可以出现多次

10、 foo = foo||bar ,这行代码是什么意思?为什么要这样写?

答案:if(!foo) foo = bar; //如果 foo 存在,值不变,否则把 bar 的值赋给 foo。

短路表达式:作为”&&”和”||”操作符的操作数表达式,这些表达式在进行求值时,只

要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值


相关文章
|
3月前
|
JSON JavaScript 前端开发
Javascript基础 86个面试题汇总 (附答案)
该文章汇总了JavaScript的基础面试题及其答案,涵盖了JavaScript的核心概念、特性以及常见的面试问题。
63 3
|
3月前
|
前端开发 JavaScript
JavaScript 面试系列:如何理解 ES6 中 Generator ?常用使用场景有哪些?
JavaScript 面试系列:如何理解 ES6 中 Generator ?常用使用场景有哪些?
|
4月前
|
JavaScript 前端开发
常见的JS面试题
【8月更文挑战第5天】 常见的JS面试题
63 3
|
1月前
|
JSON JavaScript 前端开发
[JS]面试官:你的简历上写着熟悉jsonp,那你说说它的底层逻辑是怎样的?
本文介绍了JSONP的工作原理及其在解决跨域请求中的应用。首先解释了同源策略的概念,然后通过多个示例详细阐述了JSONP如何通过动态解释服务端返回的JavaScript脚本来实现跨域数据交互。文章还探讨了使用jQuery的`$.ajax`方法封装JSONP请求的方式,并提供了具体的代码示例。最后,通过一个更复杂的示例展示了如何处理JSON格式的响应数据。
36 2
[JS]面试官:你的简历上写着熟悉jsonp,那你说说它的底层逻辑是怎样的?
|
2月前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
4月前
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
46 0
|
4月前
|
JavaScript 前端开发 程序员
JS小白请看!一招让你的面试成功率大大提高——规范代码
JS小白请看!一招让你的面试成功率大大提高——规范代码
|
4月前
|
JavaScript 前端开发 UED
小白请看! 大厂面试题 :如何用JS实现瀑布流
小白请看! 大厂面试题 :如何用JS实现瀑布流
|
4月前
|
存储 JavaScript 前端开发
JS浅拷贝及面试时手写源码
JS浅拷贝及面试时手写源码
|
4月前
|
JavaScript 前端开发
JS:类型转换(四)从底层逻辑让你搞懂经典面试问题 [ ] == ![ ] ?
JS:类型转换(四)从底层逻辑让你搞懂经典面试问题 [ ] == ![ ] ?