2017阿里前端筆試

2021-09-11 17:03:28 字數 2193 閱讀 4107

1、

let obj = object.create();

function foo(obj)

console.log(obj === foo(obj)); // true

let obj = [1,2,3];

function foo(val)

console.log(obj === foo(obj)); // false

let obj = 1;

function foo(val)

console.log(obj === foo(obj)); // false

let obj = ;

function foo(val)

console.log(obj === foo(obj)); // true

let obj = [1,2,3];

function foo(val)

console.log(obj === foo(obj)); // false

let obj = [1,2,3];

function foo(val)

console.log(obj === foo(obj)); // true

主要考察引用物件的引用位址是否相同

2、

點我

輸出的順序是: d a c b

第一道程式設計題:

要求:

我的解答:

function cycledetector(obj)

}return false;

}let _read = function(_obj)else}}

};_read(obj);

return res;

}

第二道程式設計題:要求:

我的解答:

class eventemitter ;

this.onceeventlist = {};

}fire(obj) = obj;

let _run = 1;

let _find = function(list)}}

}_run = 0;

};_find(this.onceeventlist);

_find(this.eventlist);

}on(event, fn);

this.eventlist[event][fn.name] = fn;

}off(event, fn)

}once(event, fn);

this.onceeventlist[event][fn.name] = fn;}}

const emitter = new eventemitter();

const handler = function(evt) ;

emitter.on('foo', handler);

emitter.once('foo', function(evt) );

emitter.fire();

emitter.fire();

emitter.off('foo', handler);

emitter.fire();

三、其它

一道模板解析習題

想法就是通過正則解析:

var template = function(str) ;

var result;

var newstr = str;

var re = new regexp('\\','g');

while((result = re.exec(str)) !== null);

replace[item].origin = result[0];

}return function(obj)

}return str;}}

2017前端筆試題解析

1.輸出題 var x 0 if 0 else 考點 隱式轉換 解析 此題涉及兩次隱式轉換,第一次是在if中預設使用boolean轉換,第二次是在 時發生了雙 等的隱式轉換。首先明確boolean的轉換規則 字串時除空字串之外其餘都轉換為true 數字 型別時除0其餘都轉換為true 物件時除了nu...

2017阿里筆試題string切片問題

問題描述 給定乙個字串str,以及字典dict,在字串中插入空格,使得每個單詞都在dict中,且插入的空格數最少 解題思路 該題採用遞迴的方法來求解,將str分為兩部分,若第一部分在字典中,則繼續判斷第二部分字串所能插入的最少空格,如此遞迴的處理第二部分,只能將其分為一部分,或者無法分割。inclu...

阿里前端筆試演算法題。做個記錄。

我筆試的時候並沒有寫出來。有點懵,題目看了好久。開始寫的時候一開始思路也沒正確開啟。筆試完了,安靜思考了一會兒就解決了。如果不正,歡迎指出。交卷的時候截圖的,所有乙個圖層。見諒 code如下 function solve arr else if arr k i arr.length i else i...