1.javascript的typeof返回哪些数据类型
string Object/null number function boolean underfind
2.例举3种强制类型转换和2种隐式类型转换?
强制(parseInt,parseFloat,number)
隐式(== === + * / % ++ --)
3.split() join() 的区别
前者是切割成数组的形式,后者是将数组转换成字符串
4.数组方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除
5.事件绑定和普通事件有什么区别
区别就是普通事件只支持单个事件,而事件绑定可以添加多个事件,就这么简单。
6.IE和DOM事件流的区别
1.执行顺序不一样、
2.参数不一样
3.事件加不加on
4.this指向问题
7.IE和标准下有哪些兼容性的写法
Var ev = ev || window.event //获取event对象
document.documentElement.clientWidth || document.body.clientWidth//浏览器窗口的大小
Var target = ev.srcElement||ev.target //获取事件源
8.ajax请求的时候get 和post方式的区别
一个在url后面 一个放在虚拟载体里面
有大小限制
安全问题
应用不同 一个是论坛等只需要请求的,一个是类似修改密码的
9.call和apply的区别
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
10.ajax请求时,如何解析json数据
使用eval parse 鉴于安全性考虑 使用parse更靠谱
12.写一个获取非行间样式的函数
function getStyle(obj,attr,value){
if(!value){
if(obj.currentStyle){
return obj.currentStyle(attr)
}else{
obj.getComputedStyle(attr,false)
}
}else{
obj.style[attr]=value
}
}
13.事件委托是什么
让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!
(1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。
IE 5.5: div -> body -> document
IE 6.0: div -> body -> html -> document
Mozilla 1.0: div -> body -> html -> document -> window
(2)捕获型事件(event capturing):
事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,
不过必须由开发人员特别指定)。
(3)DOM事件流:同时支持两种事件模型:捕获型事件和冒泡型事件,
但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,
从document对象开始,也在document对象结束。
14.闭包是什么,有什么特性,对页面有什么影响
闭包就是能够读取其函数内部变量的函数。
官方解释是一个拥有许多变量和绑定了这些变量的环境的表达式
闭包的实质是一个函数,是一个用于返回局部变量值的函数,
因为在全局中,受JavaScript链式作用域结构的影响,父级变量中无法访问到子级的变量值,
为了解决这个问题,才使用闭包这个概念。由于闭包时,变量的值都保存到内存中,
会导致页面加载时内存消耗很大,IE会导致内在泄露,因此尽量少用或用时要及时删除变量。
15.如何阻止事件冒泡和默认事件
function stopBubble(e) {
// 如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.stopPropagation ) {
// 因此它支持W3C的stopPropagation()方法
e.stopPropagation();
} else {
// 否则,我们需要使用IE的方式来取消事件冒泡
window.event.cancelBubble = true;
}
}
16.添加 删除 替换 插入到某个接点的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
网友评论