前端工程师面试题JavaScript部分(第五季)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端工程师面试题JavaScript部分(第五季)相关的知识,希望对你有一定的参考价值。

alert(‘1‘+1)//11,不是2,这个容易忘

第二题,都是基础的,很容易掉坑里

(function(){
     var a = b = 6; 
})()

console.log(b);//6全局变量声明

第三题声明提前

function test(){
  console.log(a);
  console.log(foo());
  var a = 1;
  function foo(){
     return 2;
  }
}
 test();

这个很简单

var fullname = ‘John Doe‘;
var obj = {
  fullname : ‘Colin Ihrig‘,
  prop : {
     fullname: ‘Aurelio De Rosa‘,
     getFullname : function(){
        return this.fullname;
     }
  }
}
console.log(obj.prop.getFullname());
var test = obj.prop.getFullname;
console.log(test())

 接下来手写事件代理

function delegateEvent (interfaceEle, selector, type, fn){
    if(interfaceEle.addEventListener){
         interfaceEle.addEventListener(type,eventfn,false);
    }  
    else{
        interfaceEle.attach(‘on‘+type,evetnfn);
    }
    function eventfn(e){
     var e = e|| window.event;
     var target = e.target || e.srcElement;
     if(matchSelecter(target,selector)){//a 是否是a
          if(fn){
                 fn.call(target,e);
          }
     }
   }
}

function mathcSelector(ele,selector){
   if(selector.charAt(0)===‘#‘){
      return ele.id == selector.slice(1);
   }
   if(selector.charAt(0)==‘.‘){
      return (" " + ele.className+‘  ‘.indexOf(‘ ‘ + selector.slice(1)+‘ ‘) != -1)
    return ele.targetName.toLowerCase()===slector.toLowerCase();
   }
}
var odiv = docyment.getElementById("oDiv");
delegateEvent(oDiv,‘a‘,‘click‘,function(){
  alert(1)
})

 

以上是关于前端工程师面试题JavaScript部分(第五季)的主要内容,如果未能解决你的问题,请参考以下文章

web前端面试题JavaScript第一弹,个人整理部分面试题汇总

前端WEB开发工程师面试题-基础部分

Spark性能优化第五季

web前端工程师这些年被问烂了的面试题JavaScript

前端面试指南 |230页前端初级工程师面试题精编解析大全

前端面试指南 |230页前端初级工程师面试题精编解析大全