1.javascript的typeof返回哪些数据类型?
undefined、string、boolean、number、symbol(ES6)、object、function。
2.列举3种强制类型转换和2种隐式类型转换?
强制:String()、Number()、Boolean()、parseInt()、parseFloat()。
隐式:
1)隐式转换通常发生在运算符加减乘除、等于、还有小于、大于等。
1》字符串加数字,数字就会转成字符串
2》数字减字符串,字符串转成数字。如果字符串不是纯数字就会转成NaN。字符串减数字也一样。两个字符串相减也先转成数字。
3》乘,除,大于,小于跟减的转换也是一样。
4》关于==
undefined等于null
字符串和数字比较时,字符串转数字
数字和布尔比较时,布尔转数字
字符串和布尔比较时,两者转数字
3.split()join() 的区别?
前者是将字符串切割成数组的形式,后者是将数组转换成字符串。
4.数组方法pop()、push()、unshift()、shift()
push()尾部添加
pop() 尾部删除
unshift() 头部添加
shift()头部删除
5.IE和标准下有哪些兼容性的写法?
var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
var target = ev.srcElement||ev.target
6.ajax请求的时候get和post的区别
1)传递参数的形式:一个在url后面,一个放在请求头里
2)传递参数的大小:get有大小限制,只能提交少数。
3)安全问题:get的参数可以直接在链接里获取,并解码
4)应用不同:get => 请求数据;post => 提交数据
7.事件委托/代理是什么?
利用事件冒泡的原理,让自己所触发的事件,让它的父元素代替执行。
8.闭包是什么,有什么特性,对页面有什么影响?
闭包的特性:
1)封闭性:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;
2)持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保存在。
系统中,闭包中的数据依然存在,从而实现对数据的持久使用。
优点:
1)减少全局变量
2)减少传递函数的参数量
3)封装
缺点:
使用闭包会占有内存资源,过多的使用闭包会导致内存溢出等。
9.如何阻止事件冒泡?
ie:阻止冒泡ev.cancelBubble = true;
非ie ev.stopPropagation();
10.如何阻止默认事件?
1)return false;
2)ev.preventDefault();
转自:http://www.itlike.com/article