前端常見面試題

描述new一個對象的過程

  • 創(chuàng)建一個對象
  • this指向這個對象
  • 執(zhí)行代碼毕莱,即給this賦值
  • 返回this
function Fun(name,age){
  this.name = name;
  this.age = age;
  this.class = 'classname'
  //return this  這里是默認(rèn)返回this
}
var f = new Fun('jialin',22)

原型繼承案例--封裝一個dom查詢

function Elem(id){
  this.elem = document.getElementById(id)
}
Elem.prototype.html(val){
  var elem = this.elem;
  if(val){
   elem.innerHTML = val;
    return this膳音;//返回一個對象前弯,鏈?zhǔn)讲僮鳎胘query原理
 }else{
    return elem.innerHTML;
 }
}
Elem.prototype.on(type,fn){
    var elem = this.elem;
    elem.addEventListener(type,fn);
    return this;
}

var box = new Elem('inner');
box.html('this is test').on('click',function(){
      alert('this is update');
  }).html('<p>javascript</p>')

創(chuàng)建10個a,點擊彈出對應(yīng)的序號

for(var i = 0;i<10;i++){
  (function(i){
      var a = document.createElement("a");
        a.innerHTML = i + "<br>";
        a.addEventListener('click',function(e){
            e.preventDefault();//阻止默認(rèn)事件
            alert(i);
        });
        document.body.appendChild(a)
  })(i)


}

封裝變量岖免,收斂權(quán)限

function isFirstLoad(){
   var _list =[];//以下劃線命名一般表示私有變量 
  return function(id){
    if(_list.indexOf(id)>=0){
        return false
    }else{
          _list.push(id);
          return true;
    }
  }
}
var firstLoad = isFistLoad();
firstLoad(10)找颓;
firstLoad(10)
firstLoad(20)

獲取當(dāng)前年月日

function formatDate(time){
  if(!time){
    time = new Date();
  }
  var year = time.getFullYear();
  var month = time.getMonth() + 1;
  var date = time.getDate();
  if(month < 10){
     month = '0' + month;
    }
  if(date<10){
      date = '0' +date;
  }

  return year + '-' + month + '-' + date;
}
var time = new Date();
var formatDate = formatDate(time);
console.log( formatDate)

寫一個能遍歷對象和數(shù)組的函數(shù)

function forEach(obj,fn){
    var key;
    if(obj instanceof Array){
        obj.forEach(function(val,index){
            fn(index,val)
        });
    }else{
        for(key in obj){
            if(obj.hasOwnProperty(key)){
                fn(key)
            }
        }
    }
}

var arr = [1,2,3];
forEach(arr,function(index,val){
    console.log(index,val)
});
var a = {
    x:1,
    y:2
}
forEach(a ,function(index){
    console.log(index)
});

隨機數(shù)截取

var random =Math.random();
random = random + '0000';
random = random.slice(1,4);
console.log(random)

完善通用綁定事件的函數(shù)

function bindEvent(elem,type,select,fn){
    if(fn == null){
        fn = select;
        select = null;
    }
    elem.addEventListener(type,function(e){
        var target;
        id(select){
            target = e.target;
            if(target.matches(select)){
                fn.call(target,e)
            }else{
                //不使用代理
                fn(e);
            }
        }
    })
}

合并DOM查詢

var list = document.getElementById('box');
var frg = document.createDocumentFragment();
var x,li;
for(x = 0 ;x<10;x++){
    li = document.createElement('li');
    li.innerHTML = '1' + x;
    frg.appendChild(li)
}
list.appendChild(frg)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末合愈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子击狮,更是在濱河造成了極大的恐慌佛析,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件彪蓬,死亡現(xiàn)場離奇詭異寸莫,居然都是意外死亡,警方通過查閱死者的電腦和手機档冬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門膘茎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人酷誓,你說我怎么就攤上這事披坏。” “怎么了盐数?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵棒拂,是天一觀的道長。 經(jīng)常有香客問我,道長帚屉,這世上最難降的妖魔是什么谜诫? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮攻旦,結(jié)果婚禮上喻旷,老公的妹妹穿的比我還像新娘。我一直安慰自己牢屋,他們只是感情好掰邢,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著伟阔,像睡著了一般辣之。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上皱炉,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天怀估,我揣著相機與錄音,去河邊找鬼合搅。 笑死多搀,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的灾部。 我是一名探鬼主播康铭,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼赌髓!你這毒婦竟也來了从藤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤锁蠕,失蹤者是張志新(化名)和其女友劉穎夷野,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荣倾,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡悯搔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了舌仍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妒貌。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖铸豁,靈堂內(nèi)的尸體忽然破棺而出灌曙,到底是詐尸還是另有隱情,我是刑警寧澤推姻,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布平匈,位于F島的核電站,受9級特大地震影響藏古,放射性物質(zhì)發(fā)生泄漏增炭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一拧晕、第九天 我趴在偏房一處隱蔽的房頂上張望隙姿。 院中可真熱鬧,春花似錦厂捞、人聲如沸输玷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欲鹏。三九已至,卻和暖如春臭墨,著一層夾襖步出監(jiān)牢的瞬間赔嚎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工胧弛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留尤误,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓结缚,卻偏偏與公主長得像损晤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子红竭,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 0.New 的執(zhí)行過程大致如下: 創(chuàng)建一個對象 將對象的 _ proto_ 指向 構(gòu)造函數(shù)的 prototype ...
    blank的小粉er閱讀 7,040評論 2 18
  • 1尤勋、js有哪些數(shù)據(jù)類型 基本數(shù)據(jù)類型:String,Boolean茵宪, Number斥黑, Null, Undefine...
    pauljun閱讀 637評論 0 5
  • 1眉厨、你對html5的看法锌奴,為什么要在項目中運用它? h5是新的html標(biāo)準(zhǔn)憾股。他的語義化標(biāo)簽 header foot...
    何wife閱讀 553評論 0 4
  • HTML鹿蜀、XML、XHTML 有什么區(qū)別? HTML:HyperText Markup Language, 超文本...
    饑人谷_鴨脖閱讀 291評論 0 2
  • html部分 常見瀏覽器內(nèi)核 請列舉出來 ie瀏覽器 - trendient內(nèi)核 firfox瀏覽器 - geck...
    leouncle閱讀 320評論 0 1