JavaScript面试题
发布时间:2021-07-11 09:18:08  所属栏目:交互  来源:网络整理 
            导读:副标题#e# h1 id="js相关问题"JS相关问题 h3 id="数组去重"数组去重 function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i var aa = [1,2,4,9,6,7,5,3,5]; console.log(aa) console.log(uniq(aa)) h3 id="谈一谈javascript作用域链"1
                
                
                
            | 
                         事件委托,就是某个事件本来该自己干的,但是自己不干,交给别人来干,就叫事件委托。打个比方:一个button对象,本来自己需要监控自身的点击事件,但是自己不来监控这个点击事件,让自己的父节点来监控自己的点击事件。 B,新添加的元素还会有之前的事件 
 
 
// 创建新节点
createDocumentFragment()    //创建一个DOM片段
createElement()   //创建一个具体的元素
createTextNode()   //创建一个文本节点
// 添加、移除、替换、插入
appendChild()
removeChild()
replaceChild()
insertBefore() //在已有的子节点前插入一个新的子节点
// 查找
getElementsByTagName()    //通过标签名称
getElementsByName()    //通过元素的Name属性的值(IE容错能力较强,会得到一个数组,其中包括id等于name值的)
getElementById()    //通过元素Id,唯一性
 
==判断内容是否相等不比较类型 
===判断内容相等且类型也相等 
<h3 id="如何阻止事件冒泡和默认事件">17、如何阻止事件冒泡和默认事件 function stopBubble(e)
{
    if (e && e.stopPropagation)
        e.stopPropagation()
    else
        window.event.cancelBubble=true
}
return false
 
function fn() {
    this.a = 0;
    this.b = function() {
        alert(this.a)
    }
}
fn.prototype = {
    b: function() {
        this.a = 20;
        alert(this.a);
    },c: function() {
        this.a = 30;
        alert(this.a);
    }
}
var myfn = new fn();
myfn.b();
myfn.c();
 
 
function fun(n,o) {
  console.log(o)
  return {
    fun:function(m){
      return fun(m,n);
    }
  };
}
var a = fun(0);  a.fun(1);  a.fun(2);  a.fun(3);
var b = fun(0).fun(1).fun(2).fun(3);
var c = fun(0).fun(1);  c.fun(2);  c.fun(3);
 | 
                  

