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...