js面试题再次来袭,小伙伴快接住!

1、javascript的typeof返回哪些数据类型

alert(typeof [1, 2]); //object

alert(typeof 'leipeng'); //string

var i = true;

alert(typeof i); //boolean

alert(typeof 1); //number

var a;

alert(typeof a); //undefined

function a(){;};

alert(typeof a) //function

js面试题再次来袭,小伙伴快接住!

2、例举3种强制类型转换和2种隐式类型转换?

强制(parseInt(),parseFloat(),Number())

隐式(== ,!!)

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

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

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

Push()尾部添加 pop()尾部删除

Unshift()头部添加 shift()头部删除

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

普通添加事件的方法:

var btn = document.getElementById("hello");

btn.onclick = function(){

alert(1);

}

btn.onclick = function(){

alert(2);

}

执行上面的代码只会alert 2 重叠覆盖

事件绑定方式添加事件:

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还支持事件冒泡+事件捕获,

removeEventLIstener取消绑定事件

6、IE和DOM事件流的区别:

1.执行顺序不一样、

2.参数不一样

3.事件加不加on

4.this指向问题

js面试题再次来袭,小伙伴快接住!

7、call和apply的区别

call方法:

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

定义:调用一个对象的一个方法,以另一个对象替换当前对象。也就是改变当前的this指向的问题

说明:

call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。

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

apply方法:

语法:apply(thisObj,[argArray])

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

说明:

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

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

8、IE和标准下有哪些兼容性的写法:事件对象event

Var ev = ev || window.event

document.documentElement.clientWidth || document.body.clientWidth

Var target = ev.srcElement||ev.target

9、如何阻止事件冒泡和默认事件

canceBubble()只支持IE,return false,stopPropagation()

e.predefiut()

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

obj.appendChid()

obj.insertBefore()

obj.replaceChild()

obj.removeChild()

js面试题再次来袭,小伙伴快接住!

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: