摘要:請寫一段程序,對這個數組按年齡從小到大進行排序。我這邊如下實現中的會一直停留在內存中。。。請寫出下面程序中幾個的結果我這邊打印如下請簡述對的理解,并列舉一些架構的框架。和碰撞的原理是什么。
1、請寫出下面 JS 程序中幾個 alert 的結果:
var a = 100; function fn() { alert(a); var a = 200; alert(a); } fn(); alert(a); var a; alert(a); var a = 300; alert(a);
自己去控制臺敲敲就知道了哈
2、請寫出以下程序的輸出
var obj1 = {name: "obj1", fn: function() { document.write(this.name); }}; var obj2 = {name: "obj2"}; var obj3 = {name: "obj3"}; obj1.fn(); var newFn = obj1.fn; newFn(); newFn.call(obj2); obj3.fn = newFn; obj3.fn();
自己去控制臺敲敲就知道了哈
3、一個數組 par 中存放有多個人員的信息,每個人員的信息由年齡 age 和姓名 name 組成,如{age: 2, name: "xx"}。請寫一段 JS 程序,對這個數組按年齡從小到大進行排序。
我這邊如下實現:
function parSort(par) { return par.sort(function(arr1, arr2) { return arr1.age > arr2.age ? -1 : 1; }); }
4、有字符串 var = "abc345efgabcab",請寫出 3 條 JS 語句分別實現如下 3 個功能:
1)去掉字符串中的a、b、c 字符,形成結果:"345efg"
2)將字符串中的數字用中括號括起來,形成結果:"abc3[5]efgabcab"
3)將字符串中的每個數字的值分別乘以 2,形成結果:"abc6810efgabcab"
我這邊如下實現:
// 1) str.replace(/([a-c])/g, ""); // 2) str.replace(/(d)/g, "[$1]"); // 3) str.replace(/(d)/g, function(num) {return num*2;});
5、請寫一段 JS 程序類,定義一個列表類List,該類包含兩個成員:屬性 length(表示列表中的元素個數)和方法 add (像列表中添加元素),其中要求構造函數和 add 方法的參數為動態參數。
我這邊如下實現:
function List() { this["_data"] = []; for (var ele in arguments) { this._data.push(arguments[ele]); } this.length = this._data.length; } List.prototype = { construct: List, add: function() { for (var ele in arguments) { this._data.push(arguments[ele]); } this.length = this._data.length; } }
6、請問以前 JS 程序有什么問題?應該如何優化?
function setStyle(element) { element.style.fontWeight = "bold"; element.style.textDecoration = "none"; element.style.color = "#000000"; }
我這邊優化如下:
function setStyle(element) { if (!element.style) { return; } var eleStyle = element.style; eleStyle.fontWeight = "bold"; eleStyle.textDecoration = "none"; eleStyle.color = "#000000"; }
7、請寫出一下正則表達式:
1)匹配一個全部是數字的字符串
2)提取一個 url 所使用的協議類型如 http、ftp 和 host 名稱
我這邊實現如下:
// 1) var str = "1234"; /^d+$/.test(str); // 2) var str = "http://yangbai.me"; str.match(/(([a-zA-Z]{3,5})://)?(www.)?([a-zA-Z\_-]+).([a-zA-Z]+)$/);
8、請使用閉包的方式,寫一段 JS 程序實現如下功能:函數每調用一次則該函數的返回值加 1。
我這邊如下實現:
function A() { var count = 0; function B() { count++; return count; } return B; } var plus = A(); //A中的count會一直停留在內存中。。。 plus();// 0 plus(); // 1 plus(); // 2
9、請寫出下面 JS 程序中幾個 document.write 的結果:
function Parent() { this.a = 1; this.b = [1, 2, this.a]; this.c = {demo: 5}; this.show = function() { document.write(this.a + " " + this.c.demo + ":" + this.b + "
") } } function Child() { this.a = 2; this.change = function() { this.b.push(this.a); this.a = this.b.length; this.c.demo = this.a++; } } Child.prototype = new Parent(); var parent = new Parent(); var child1 = new Child(); var child2 = new Child(); child1.a = 11; child2.a = 12; parent.show(); child1.show(); child2.show(); child1.change(); child2.change(); parent.show(); child1.show(); child2.show();
我這邊打印如下:
1 5:1,2,1
11 5:1,2,1
12 5:1,2,1
1 5:1,2,1
5 5:1,2,1,11,12
6 5:1,2,1,11,12
10、請簡述對 MVC 的理解,并列舉一些 MVC 架構的 js 框架。
來吧,各抒己見......
11、請用 js 程序實現二分算法。
我這邊如下實現:
/** * 簡單二分查找實現【數組必須有序】 * @param {[type]} arr [description] * @param {[type]} num [description] * @param {[type]} start [description] * @param {[type]} end [description] * @return {[type]} [description] */ function binaryFind(arr, num, start, end) { start = start || 0; end = end || arr.length; var mid = Math.floor((start + end) / 2); var midVal = arr[mid]; if (start >= end) { return false; } if (midVal === num) { return "arr[" + mid + "] = " + midVal; } else { if (midVal > num) { return binaryFind(arr, num, 0, mid); } else { return binaryFind(arr, num, mid+1); } } }
12、有這樣一個 URL:http://vip.qq.com/a.php?a=1&b...,請寫一段 JS 程序提取 URL 中的各個參數(參數名和參數個數不確定),將其按 key-value 形式返回到一個 json 結構中,如{a:"1",b:"2",c:"",d:"xxx",e:undefined}。
我這邊實現如下:
/** * 解析url參數為對象 * @param {[type]} url [description] * @return {[type]} [description] */ function parseUrl(url) { url = url.toString(); var ret = {}; var urlArr = url.split("?"); if (urlArr.length < 2) { return ret; } var paramsArr = urlArr[1].split("&"); var len = paramsArr.length; for (var i=0; i1 ? arr[1] : undefined; } return ret; }
13、XSS 原理是什么?怎么防范呢?請寫一個攻擊和防御的例子。CSRF 和 hash 碰撞的原理是什么。怎么防范。
來吧,各抒己見......
14、請列舉前端可以采取的常見優化方式
來吧,各抒己見......
15、請列舉你所了解的跨域實現方法
來吧,各抒己見......
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78974.html
摘要:我今年月投遞了騰訊前端開發崗位,很可惜筆試題沒通過,小時內給出答案回復面試官,我的答案太過于簡單,所以后面面試官估計也就懶得回我這個菜雞來嚶嚶嚶。 我今年4月投遞了騰訊前端開發崗位,很可惜筆試題沒通過,48小時內給出答案回復面試官,我的答案太過于簡單,所以后面面試官估計也就懶得回我這個菜雞來(嚶嚶嚶)。當然以我現在的眼光來重新看那份答案,都覺得那不應該是一個一年的前端開發工作者給出的答...
摘要:商業保險分四大險種重疾險,醫療險,壽險,意外險。意外險百萬身故保險計劃,基本保額萬,保意外傷害和意外身故比較親民的配置,一套組合下來,一年的費用大概是塊,不算貴。 前言 首先,這不是一篇科普文, 關于保險和理財的一些`基本概念不會過多解釋` 。 這篇文章主要是這段時間以來,我`個人的一些總結和收獲`, 比較淺顯,畢竟不是專業的, 分享給大家看看, 獻丑了。 樓主是個小財迷, ...
摘要:商業保險分四大險種重疾險,醫療險,壽險,意外險。意外險百萬身故保險計劃,基本保額萬,保意外傷害和意外身故比較親民的配置,一套組合下來,一年的費用大概是塊,不算貴。 前言 首先,這不是一篇科普文, 關于保險和理財的一些`基本概念不會過多解釋` 。 這篇文章主要是這段時間以來,我`個人的一些總結和收獲`, 比較淺顯,畢竟不是專業的, 分享給大家看看, 獻丑了。 樓主是個小財迷, ...
摘要:先介紹一下本人應屆前端開發一枚,非科班出身,專業是化學,大學期間開始自學前端開發,在今年春招實習和秋招的時候投了一些公司,拿到一些京東拼多多虎牙等,總體來說還算滿意,特地寫一篇文章來總結一下面試的那些套路。 showImg(https://segmentfault.com/img/remote/1460000011897700); 先介紹一下本人應屆前端開發一枚,非科班出身,專業是化學...
摘要:先介紹一下本人應屆前端開發一枚,非科班出身,專業是化學,大學期間開始自學前端開發,在今年春招實習和秋招的時候投了一些公司,拿到一些京東拼多多虎牙等,總體來說還算滿意,特地寫一篇文章來總結一下面試的那些套路。 showImg(https://segmentfault.com/img/remote/1460000011897700); 先介紹一下本人應屆前端開發一枚,非科班出身,專業是化學...
閱讀 1039·2021-11-18 13:23
閱讀 746·2021-11-08 13:16
閱讀 855·2021-10-11 10:58
閱讀 3510·2021-09-22 15:26
閱讀 1732·2021-09-08 10:42
閱讀 1807·2021-09-04 16:45
閱讀 1733·2019-08-30 15:54
閱讀 2564·2019-08-30 13:45