1、this对象的理解
this总是指向直接调用者(而非简介调用者)
如果有new关键字,this指向new出来的那个对象
在事件中,this指向触发这个事件对象,特殊的是,IE中的attachEvent中的this总是指向全局对象window
2、eval是做什么的
他的功能是把对应的字符串解析成js代码并且运行
应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)
由JSON字符串转换为JSON对象的时候可以用eval,var obj = eval(‘(‘+ str +‘)‘)
3、dom怎么样添加、移除、移动、复制、创建和查找节点
createDocumentFragment() // 创建一个dom片段
createElement() // 创建一个具体的元素
createTextNode() // 创建一个文本节点
添加 移除 替换 插入
appendChild()
removeChild()
replaceChild()
insertBefore() // 在已有的子节点前插入一个新的子节点
查找
getElementByTagName() 通过标签名称
getElementByName() 通过元素的name属性值
getElementById() 通过id 唯一性
4、null和undefined的区别
null是一个表示‘无’的对象,转换为数值为0,undefined是一个表示‘无’的原始值,转为数值时为NaN
undefined
变量声明了,但是没有赋值时,就等于undefined
调用函数时,应该提供的参数没有提供,该参数就等于undefined
对象没有赋值的属性,该属性的值为undefined
null
作为函数参数,表示该函数的参数不是对象
作为原型链的终点
5、new操作符具体干了什么
创建一个空对象,并且this变量引用该对象,同事还继承了该函数的原型
属性和方法被加到this引用的对象中
新创建的对象由this所引用,并且最后隐士的返回this