ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码

小米Web前端JavaScript面试题

来源:网络整理     时间:2014-11-24     关键词:Web前端,JavaScript面试题

本篇文章主要介绍了"小米Web前端JavaScript面试题",主要涉及到Web前端,JavaScript面试题方面的内容,对于Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:

小米Web前端JavaScript面试题

面试题目

一、

请定义这样一个函数

function repeat (func, times, wait) {

}

这个函数能返回一个新函数,比如这样用

var repeatedFun = repeat(alert, 10, 5000)

调用这个 repeatedFun ("hellworld")

会alert十次 helloworld, 每次间隔5秒

二、

写一个函数stringconcat, 要求能

var result1 = stringconcat("a", "b")  result1 = "a+b"

var stringconcatWithPrefix = stringconcat.prefix("hellworld");

var result2 = stringconcatWithPrefix("a", "b")  result2 = "hellworld+a+b"

小菜解法

     这两道题,考的就是闭包,废话不多说,直接上代码。

 1 /**  2  * 第一题  3  * @param func  4  * @param times  5  * @param wait  6  * @returns {repeatImpl}  7 */  8 function repeat (func, times, wait) {  9 //不用匿名函数是为了方便调试 10 function repeatImpl(){ 11 var handle, 12 _arguments = arguments, 13 i = 0; 14 handle = setInterval(function(){ 15 i = i + 1; 16 //到达指定次数取消定时器 17 if(i === times){ 18  clearInterval(handle); 19 return; 20  } 21 func.apply(null, _arguments); 22  },wait); 23  } 24 25 return repeatImpl; 26 } 27 28 //测试用例 29 var repeatFun = repeat(alert, 4, 3000); 30 31 repeatFun("hellworld"); 32 33 34 /** 35  * 第二题 36  * @returns {string} 37 */ 38 function stringconcat(){ 39 var result = []; 40 41 stringconcat.merge.call(null, result, arguments); 42 return result.join("+"); 43 } 44 45 stringconcat.prefix = function(){ 46 var _arguments = [], 47 _this = this; 48 49 _this.merge.call(null, _arguments, arguments); 50 51 return function(){ 52 var _args = _arguments.slice(0); 53 54 _this.merge.call(null, _args, arguments); 55 return _this.apply(null, _args); 56  }; 57 }; 58 59 stringconcat.merge = function(array, arrayLike){ 60 var i = 0; 61 62 for(i = 0; i < arrayLike.length; i++){ 63  array.push(arrayLike[i]); 64  } 65 } 66 67 68 //测试用例 69 var result1 = stringconcat("a", "b"); //result1 = "a+b" 70 var result3 = stringconcat("c", "d"); //result1 = "a+b" 71 72 var stringconcatWithPrefix = stringconcat.prefix("hellworld"); 73 var stringconcatWithPrefix1 = stringconcat.prefix("hellworld1"); 74 75 var result2 = stringconcatWithPrefix("a", "b"); //result2 = "hellworld+a+b" 76 var result4 = stringconcatWithPrefix1("c", "d"); //result2 = "hellworld+a+b" 77 78 alert(result1); 79 alert(result2); 80 alert(result3); 81 alert(result4);

以上就介绍了小米Web前端JavaScript面试题,包括了Web前端,JavaScript面试题方面的内容,希望对Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_95042.html

相关图片

相关文章