国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

一些前端面試題匯總

mtunique / 1455人閱讀

摘要:類型請(qǐng)求成功后的回調(diào)函數(shù)。參數(shù)由服務(wù)器返回,并根據(jù)參數(shù)進(jìn)行處理后的數(shù)據(jù)描述狀態(tài)的字符串。默認(rèn)設(shè)置下,所有請(qǐng)求均為異步請(qǐng)求。類型發(fā)送請(qǐng)求前可修改對(duì)象的函數(shù),如添加自定義頭。對(duì)象是唯一的參數(shù)。如果返回可以取消本次請(qǐng)求。設(shè)置為將不緩存此頁面。

題目一 : 統(tǒng)計(jì)字符串中出現(xiàn)次數(shù)最多的字符

eg : var s = "abcdefghijklabcdaaaefadca" ; // 其中a出現(xiàn)次數(shù)最多,7次

拿到這個(gè)題目,會(huì)怎么做呢?

首先我想到兩種思路:

暴力查找,一個(gè)一個(gè)元素拿出來,再循環(huán),得到次數(shù)放入json鍵值對(duì)中,再比較大小

找到一個(gè)刪除一個(gè),利用正則表達(dá)式替換,長度之差便是其重復(fù)的次數(shù)

暴力查找:

var s = "abcdefghijklabcdaaaefadca";
var json = {};
var Max = {
    key:"",
    value:0
};
var arr = s.split("");
for(var i=0;i Max.value){
        Max.key = prop;
        Max.value = json[prop]
    }
}
console.log(Max); //得出正確結(jié)果

正則法:

var s = "abcdefghijklabcdaaaefadca";
//用于存放各字母出現(xiàn)的次數(shù)
var json = {};
//用于存放出現(xiàn)次數(shù)為最大值的字母
var Max = {
    key:"",
    value:0
};
//正則替換,長度之差就是出現(xiàn)的次數(shù)
while(s){
    var len1 , len2;
    len1 = s.length;
    var first = s.charAt(0);
    s = s.replace(new RegExp(first,"g"),"");
    len2 = s.length;
    json[first] = len1-len2;
}
//找最大值
for(prop in json){
    if(json[prop] > Max.value){
        Max.key = prop;
        Max.value = json[prop]
    }
}
console.log(Max); //得出答案

這個(gè)題目還有一個(gè)好方法:

var s = "abcdefghijklabcdaaaefadca";
var json = {};
var Max = {
    key:"",
    value:0
};
for(var i=0;i Max.value){
        Max.key = prop;
        Max.value = json[prop]
    }
}
console.log(Max); //得出答案

這種算法時(shí)間復(fù)雜度為O(n),可以說是很簡單了!
題目二 : 求下面的輸出值
function Show(){
    getName = function(){
        console.log(1);
    }
    return this;
}; 
Show.getName = function(){
    console.log(2);
};
Show.prototype.getName = function(){
    console.log(3);
};
var getName = function(){
    console.log("4");
}
function getName(){
    console.log(5);
};

求這些問題的解:
1、Show.getName();    
2、getName();        
3、Show().getName();   
4、getName();          
5、new Show.getName();  
6、new Show().getName();  
7、new new Show().getName();

這道題目考察的是Javascript基礎(chǔ),

首先要明白JS執(zhí)行過程:

先提升(先提升函數(shù),再提升變量,如果名字一樣,變量提升會(huì)覆蓋函數(shù)提升)

再執(zhí)行,如果遇到閉包創(chuàng)建

在閉包空間中反復(fù)1和2

先定義(提升),在執(zhí)行

變量提升

函數(shù)提升

本題目解答如下:

形如 func.method(函數(shù)名.屬性),函數(shù)也是對(duì)象,發(fā)現(xiàn)Show.getName()有定義,就執(zhí)行方法屬性,輸出2

根據(jù)JS執(zhí)行過程,先提升函數(shù)getName(),再提升變量getName , 同名覆蓋,就知道變量getName覆蓋了其同名函數(shù),執(zhí)行變量getName,結(jié)果是 “4”

形如 func().method() ,意思是先執(zhí)行 func() , 由 func() 的返回值執(zhí)行method方法,所以先要知道 func() 返回值是什么? return this; this指什么呢? 誰調(diào)用指向誰,func是全局調(diào)用 , 所以this指向window ,Show()函數(shù)執(zhí)行后,里面把getName的定義該變了,所以,window.getName() 輸出是 1

getName() , 在當(dāng)前環(huán)境等同于 window.getName() ,輸出是 1

new Show.getName() 先執(zhí)行show.getName()輸出2 在new一下

new Show().getName() 使用了new關(guān)鍵字,是把函數(shù)show當(dāng)成了構(gòu)造器,此時(shí)return沒有作用,getName在構(gòu)造器里沒有,找原型對(duì)象 輸出 3

new new Show().getName() 就是在第六問基礎(chǔ)之上輸出 3 之后,在new一個(gè)

javascript所有的函數(shù)都可以使用 new func()關(guān)鍵字,表示生成一個(gè)對(duì)象。這點(diǎn)理解了,理解上面的就簡單

Javascript 簡單概念
javascript的typeof返回哪些數(shù)據(jù)類型

object , number , function , boolean , undefind , string

檢測數(shù)組的幾種方法 , 檢測obj是否是數(shù)組類型

Array.isArray(obj);

obj instanceof Array

arr.constructor.name

toString.call()

傳統(tǒng)事件綁定和符合W3C標(biāo)準(zhǔn)的事件綁定有什么區(qū)別?

傳統(tǒng)事件綁定:

123

如果說給同一個(gè)元素綁定了兩次或者多次相同類型的事件,那么后面的綁定會(huì)覆蓋前面的綁定

不支持DOM事件流 事件捕獲階段è目標(biāo)元素階段=>事件冒泡階段

符合W3C標(biāo)準(zhǔn)的事件綁定的方式 addEventListener/attachEvent
A、非IE瀏覽器:
addEventListener

如果說給同一個(gè)元素綁定了兩次或者多次相同類型的事件,所以的綁定將會(huì)依次觸發(fā)

支持DOM事件流的

進(jìn)行事件綁定傳參不需要on前綴

addEventListener(“click”,function(){},true);//此時(shí)的事件就是在事件捕獲階段執(zhí)行

第三個(gè)參數(shù):代表是否在捕獲階段執(zhí)行,默認(rèn)值是false

ddEventListener(“click”,function(e){})

addEventListener(“click”,function(){},false) 事件在冒泡階段執(zhí)行

B、IE瀏覽器

ie9開始,ie11 edge:addEventListener

ie9以前 ie8:attachEvent/detachEvent

進(jìn)行事件類型傳參需要帶上on前綴

dom1.attachEvent(“onclick”,functioin(){});
這種方式只支持事件冒泡,不支持事件捕獲

call和apply的區(qū)別

call和apply相同點(diǎn):
都是為了用一個(gè)本不屬于一個(gè)對(duì)象的方法,讓這個(gè)對(duì)象去執(zhí)行

toString.call([],1,2,3)

toString.apply([],[1,2,3])

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)
區(qū)別:

call第二個(gè)參數(shù)開始接受一個(gè)參數(shù)列表

apply第二個(gè)參數(shù)開始接受一個(gè)參數(shù)數(shù)組

jQuery框架中$.ajax()的常用參數(shù)有哪些?

type

類型:String

默認(rèn)值: "GET")。請(qǐng)求方式 ("POST" 或 "GET"), 默認(rèn)為 "GET"。注意:其它 HTTP 請(qǐng)求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支持。

url

類型:String

默認(rèn)值: 當(dāng)前頁地址。發(fā)送請(qǐng)求的地址。

success

類型:Function 請(qǐng)求成功后的回調(diào)函數(shù)。

參數(shù):由服務(wù)器返回,并根據(jù) dataType 參數(shù)進(jìn)行處理后的數(shù)據(jù);描述狀態(tài)的字符串。
這是一個(gè) Ajax 事件。

options

類型:Object

可選。AJAX 請(qǐng)求設(shè)置。所有選項(xiàng)都是可選的。

async

類型:Boolean

默認(rèn)值: true。默認(rèn)設(shè)置下,所有請(qǐng)求均為異步請(qǐng)求。如果需要發(fā)送同步請(qǐng)求,請(qǐng)將此選項(xiàng)設(shè)置為 false。
注意,同步請(qǐng)求將鎖住瀏覽器,用戶其它操作必須等待請(qǐng)求完成才可以執(zhí)行。

beforeSend(XHR)

類型:Function

發(fā)送請(qǐng)求前可修改 XMLHttpRequest 對(duì)象的函數(shù),如添加自定義 HTTP 頭。
XMLHttpRequest 對(duì)象是唯一的參數(shù)。

這是一個(gè) Ajax 事件。如果返回 false 可以取消本次 ajax 請(qǐng)求

cache

類型:Boolean

默認(rèn)值: true,dataType 為 script 和 jsonp 時(shí)默認(rèn)為 false。設(shè)置為 false 將不緩存此頁面。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/83070.html

相關(guān)文章

  • 你不能錯(cuò)過的前端面試合集

    摘要:收集的一些前端面試題從面試題發(fā)現(xiàn)不足,進(jìn)而查漏補(bǔ)缺,比通過面試更難得及各大互聯(lián)網(wǎng)公司前端筆試面試題篇及各大互聯(lián)網(wǎng)公司前端筆試面試題篇面試題個(gè)和個(gè)經(jīng)典面試題前端開發(fā)面試題如何面試前端工程師很重要個(gè)變態(tài)題解析如何通過餓了么面試輕 收集的一些前端面試題 從面試題發(fā)現(xiàn)不足,進(jìn)而查漏補(bǔ)缺,比通過面試更難得 1 BAT及各大互聯(lián)網(wǎng)公司2014前端筆試面試題--Html,Css篇 2 BAT...

    ninefive 評(píng)論0 收藏0
  • 你不能錯(cuò)過的前端面試合集

    摘要:收集的一些前端面試題從面試題發(fā)現(xiàn)不足,進(jìn)而查漏補(bǔ)缺,比通過面試更難得及各大互聯(lián)網(wǎng)公司前端筆試面試題篇及各大互聯(lián)網(wǎng)公司前端筆試面試題篇面試題個(gè)和個(gè)經(jīng)典面試題前端開發(fā)面試題如何面試前端工程師很重要個(gè)變態(tài)題解析如何通過餓了么面試輕 收集的一些前端面試題 從面試題發(fā)現(xiàn)不足,進(jìn)而查漏補(bǔ)缺,比通過面試更難得 1 BAT及各大互聯(lián)網(wǎng)公司2014前端筆試面試題--Html,Css篇 2 BAT...

    darkbaby123 評(píng)論0 收藏0
  • 前端資源系列(4)-前端學(xué)習(xí)資源分享&前端面試資源匯總

    摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...

    princekin 評(píng)論0 收藏0
  • 前端最強(qiáng)面經(jīng)匯總

    摘要:獲取的對(duì)象范圍方法獲取的是最終應(yīng)用在元素上的所有屬性對(duì)象即使沒有代碼,也會(huì)把默認(rèn)的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對(duì)于一個(gè)光禿禿的元素,方法返回對(duì)象中屬性值如果有就是據(jù)我測試不同環(huán)境結(jié)果可能有差異而就是。 花了很長時(shí)間整理的前端面試資源,喜歡請(qǐng)大家不要吝嗇star~ 別只收藏,點(diǎn)個(gè)贊,點(diǎn)個(gè)star再走哈~ 持續(xù)更新中……,可以關(guān)注下github 項(xiàng)目地址 https:...

    wangjuntytl 評(píng)論0 收藏0
  • LeetCode 攻略 - 2019 年 8 月上半月匯總(109 攻略)

    摘要:每天會(huì)折騰一道及以上題目,并將其解題思路記錄成文章,發(fā)布到和微信公眾號(hào)上。三匯總返回目錄在月日月日這半個(gè)月中,做了匯總了數(shù)組知識(shí)點(diǎn)。或者拉到本文最下面,添加的微信等會(huì)根據(jù)題解以及留言內(nèi)容,進(jìn)行補(bǔ)充,并添加上提供題解的小伙伴的昵稱和地址。 LeetCode 匯總 - 2019/08/15 Create by jsliang on 2019-08-12 19:39:34 Recently...

    tracy 評(píng)論0 收藏0
  • 2018前端面試匯總(更新...)

    摘要:方法一因?yàn)槭菑拈_始的方法二獲取怎么實(shí)現(xiàn)和截取考察的用法。翻轉(zhuǎn)字符串和刪除數(shù)組的第一元素將字符串轉(zhuǎn)化為數(shù)組。將數(shù)組進(jìn)行翻轉(zhuǎn)。將數(shù)組轉(zhuǎn)換為字符串。被刪除的第一個(gè)元素刪除后的數(shù)組數(shù)組去重如果找到不到就把放到新數(shù)組里 1.運(yùn)算題的結(jié)果 var name=jay var pe={ name:kang, getname:function () { ...

    smartlion 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<