成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

前端面試題整理

MycLambert / 667人閱讀

摘要:整理最近的一些面試題請(qǐng)問(wèn)有哪些數(shù)據(jù)數(shù)據(jù)類型,并畫(huà)出內(nèi)存圖有種簡(jiǎn)單的數(shù)據(jù)類型也稱為基本數(shù)據(jù)類型復(fù)雜的數(shù)據(jù)類型即引用數(shù)據(jù)類型包含對(duì)象,對(duì)象和等舉個(gè)例子引用類型數(shù)據(jù)在棧內(nèi)存中保存的實(shí)際上是對(duì)象在堆內(nèi)存中的引用地址。實(shí)際上改變的是堆內(nèi)存對(duì)象。

我們?cè)趈s的學(xué)習(xí)中,往往很多東西看過(guò)之后,一段時(shí)間不用,就忘記了。或者當(dāng)時(shí)就沒(méi)有深入的理解,能促使我們不斷深入學(xué)習(xí)的動(dòng)力最好的辦法往往參加些面試,能找到自己的不足也能加深之前學(xué)的知識(shí)點(diǎn)的記憶。
整理最近的一些面試題

(1)請(qǐng)問(wèn)js有哪些數(shù)據(jù)數(shù)據(jù)類型,并畫(huà)出內(nèi)存圖

js有5種簡(jiǎn)單的數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型)Undefined、Null、Boolean、Number、String
復(fù)雜的數(shù)據(jù)類型(即引用數(shù)據(jù)類型) 包含Object對(duì)象,array對(duì)象和Function,Date等

舉個(gè)例子
引用類型數(shù)據(jù)在棧內(nèi)存中保存的實(shí)際上是對(duì)象在堆內(nèi)存中的引用地址。通過(guò)這個(gè)引用地址可以快速查找到保存中堆內(nèi)存中的對(duì)象。

    var obj1 = new Object();
  var obj2 = obj1;
  obj2.name = "我有名字了";
  console.log(obj1.name); // 我有名字了

obj1賦值給onj2,實(shí)際上這個(gè)堆內(nèi)存對(duì)象在棧內(nèi)存的引用地址復(fù)制了一份給了obj2,但是實(shí)際上他們共同指向了同一個(gè)堆內(nèi)存對(duì)象。實(shí)際上改變的是堆內(nèi)存對(duì)象。

(2)下面代碼輸出結(jié)果

for (var i = 1; i <= 4; i++) {
        console.log(i)
        setTimeout(function timer() {
            console.log(i)  // 5,5,5,5,5
        }, 1000)
    }

答案:// 5,5,5,5,5

(3)下面代碼輸出結(jié)果

var foo = "hello";
(function() {
    var bar = " word"
    console.log(foo + bar)
})()
console.log(foo + bar)

//答案:報(bào)錯(cuò)bar is not defined

(4)下面代碼輸出結(jié)果

var bar = true
console.log(bar + 0) //1
console.log(bar + "xyz") //truexyz
console.log(bar + true) //2
console.log(bar + false) //1
console.log(undefined == null) //true
console.log(1 == true) //true
console.log(2 == true) //false
console.log(0 == false) //true
console.log(0 == "") //true
console.log(NaN == NaN) //false
console.log([] == false) //true
console.log([] == ![]) //true

補(bǔ)充一些可能會(huì)考到的例子

// Boolean + Number -> 數(shù)字相加
true + 1 // 2

// Boolean + Boolean -> 數(shù)字相加
false + false // 0

// Number + String -> 字符串連接
5 + "foo" // "5foo"

// String + Boolean -> 字符串連接
"foo" + false // "foofalse"

// String + String -> 字符串連接
"foo" + "bar" // "foobar"

減法 (-)

減法運(yùn)算符使兩個(gè)操作數(shù)相減,結(jié)果是它們的差值。減法字符串都會(huì)試圖轉(zhuǎn)成數(shù)字
-"1"http://1
5 - 3 // 2
3 - 5 // -2
"15"-2 //13
"foo" - 3 // NaN

"5" + 3  // 53  如果字符在前面,并且后面是加號(hào)(+)就是字符串拼接

+3     // 3
+"3"   // 3
+true  // 1
+false // 0
+null  // 0
+function(val){ return val;} //NaN

(5)假設(shè)有這樣一個(gè)數(shù)組[1,2,3,4,5],現(xiàn)在想要左移或者右移N位,比如左移1位變成[2,3,4,5,1],右移1位變成[5,1,2,3,4],請(qǐng)寫(xiě)一個(gè)函數(shù)實(shí)現(xiàn)
思路:假如左移的情況,如果左移2位,把原數(shù)組的左邊2個(gè)元素刪除,并把刪除的2個(gè)元素存儲(chǔ)在新建的數(shù)組中,最后把原數(shù)組刪除后的數(shù)組與刪除的數(shù)組連接起來(lái),右移的情況也是把右移數(shù)量的元素刪除,并把刪除后的元素存儲(chǔ)起來(lái),最后連接。
完整的例子:

 var data = ["blue", "green", "red", "purple"];
 var dataLength = data.length
 var deleteData;
 var resultData;

 function move(n) {
     if (n >= 0) {
         deleteData = data.splice(0, n);
         resultData = data.concat(deleteData);
         console.log(resultData);
     } else {
         deleteData = data.splice(dataLength + n, -n);
         resultData = deleteData.concat(data)
         console.log(resultData);
     }
 }
 move(3)

(6)有這樣一個(gè)URL http://www.baidu.com/item.htm...,請(qǐng)寫(xiě)一段js程序提取url中的各個(gè)GET參數(shù)(參數(shù)名和參數(shù)個(gè)數(shù)不確定),將其按key-value形式返回到一個(gè)json結(jié)構(gòu)中

思路:

1、找出“?”的index 位置(url.indexOf("?"))

2、截取“?”后面的字符串(可以使用slice,substring,substr)

3、使用split把字符串分隔成字符串?dāng)?shù)組(str.split("&"))

4、循環(huán)字符串?dāng)?shù)組,在循環(huán)內(nèi)部主要代碼

for (i = 0; i < data.length; i++) {
    var data1 = data[i];
    data2 = data1.split("=")
    key = data2[0];
    value = data2[1];
    JosnObject.key = value
}

如有疑問(wèn)請(qǐng)關(guān)注微信公眾號(hào):前端之攻略,此公眾號(hào)我也會(huì)定期更新前端知識(shí)。

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

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

相關(guān)文章

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

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

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

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

    darkbaby123 評(píng)論0 收藏0
  • 20W字囊括上百個(gè)前端面試的項(xiàng)目開(kāi)源了

    摘要:字囊括上百個(gè)前端面試題的項(xiàng)目開(kāi)源了這個(gè)項(xiàng)目是什么項(xiàng)目?jī)?nèi)容這個(gè)項(xiàng)目目前在上剛剛開(kāi)源主要內(nèi)容如下前端面試題主要整理了高頻且有一定難度的前端面試題對(duì)這些面試題進(jìn)行解讀前端原理詳解針對(duì)一些有一定難度面試題涉及的知識(shí)點(diǎn)進(jìn)行詳解比如涉及的編譯原理響應(yīng)式 20W字囊括上百個(gè)前端面試題的項(xiàng)目開(kāi)源了 這個(gè)項(xiàng)目是什么? 項(xiàng)目?jī)?nèi)容 這個(gè)項(xiàng)目目前在GitHub上剛剛開(kāi)源,主要內(nèi)容如下: 前端面試題: 主要整...

    Euphoria 評(píng)論0 收藏0
  • 前端面試整理

    摘要:主要講講新增哪些地理定位,拖放,存儲(chǔ)應(yīng)用緩存,,。使用嚴(yán)格模式的限制有哪些。同源協(xié)議,域名,端口相同方法一。方法是在原數(shù)組上進(jìn)行操作。如何設(shè)置一個(gè)未知寬高的對(duì)話框在頁(yè)面中絕對(duì)居中。 1.HTML5的新特性。 主要講講新增哪些API:地理定位,拖放,web存儲(chǔ)應(yīng)用緩存,webworkers, sse 。 http://www.w3school.com.cn/html5/html_5_in...

    gaomysion 評(píng)論0 收藏0
  • 前端面試整理

    摘要:主要講講新增哪些地理定位,拖放,存儲(chǔ)應(yīng)用緩存,,。使用嚴(yán)格模式的限制有哪些。同源協(xié)議,域名,端口相同方法一。方法是在原數(shù)組上進(jìn)行操作。如何設(shè)置一個(gè)未知寬高的對(duì)話框在頁(yè)面中絕對(duì)居中。 1.HTML5的新特性。 主要講講新增哪些API:地理定位,拖放,web存儲(chǔ)應(yīng)用緩存,webworkers, sse 。 http://www.w3school.com.cn/html5/html_5_in...

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

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

0條評(píng)論

閱讀需要支付1元查看
<