#学习笔记#——JavaScript 数组部分编程(六)
14、
题目描述
实现一个打点计时器,要求 1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1 2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作 3、第一个数需要立即输出
1 function count(start,end){ 2 console.log(start); 3 var counter; 4 counter=setInterval(function(){ 5 if(start<end){ 6 console.log(++start); 7 } 8 },100); 9 var obj=new Object(); 10 obj.cancel=function(){ 11 clearInterval(counter); 12 } 13 return obj; 14 }
15、
题目描述
实现 fizzBuzz 函数,参数 num 与返回值的关系如下: 1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz 2、如果 num 能被 3 整除,返回字符串 fizz 3、如果 num 能被 5 整除,返回字符串 buzz 4、如果参数为空或者不是 Number 类型,返回 false 5、其余情况,返回参数 num
输入例子:
fizzBuzz(15)
输出例子:
fizzbuzz
function fizzBuzz(num) { var str=""; if(typeof(num)=="number"){ if(num%3==0){ str+="fizz"; } if(num%5==0){ str+="buzz"; } if(num%3!=0 && num%5!=0){ str=num; } return str; } else { return false; } }
16、
题目描述
将数组 arr 中的元素作为调用函数 fn 的参数
输入例子:
argsAsArray(function (greeting, name, punctuation) {return greeting + ', ' + name + (punctuation || '!');}, ['Hello', 'Ellie', '!'])
输出例子:
Hello, Ellie!
function argsAsArray(fn, arr) { return fn.apply(this,arr); }
17、
题目描述
将函数 fn 的执行上下文改为 obj 对象
输入例子:
speak(function () {return this.greeting + ', ' + this.name + '!!!';}, {greeting: 'Hello', name: 'Rebecca'})
输出例子:
Hello, Rebecca!!!
function speak(fn, obj) {
return fn.apply(obj,arguments);
}
18、
题目描述
实现函数 functionFunction,调用之后满足如下条件: 1、返回值为一个函数 f 2、调用返回的函数 f,返回值为按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格,即 ', ' 3、所有函数的参数数量为 1,且均为 String 类型
输入例子:
functionFunction('Hello')('world')
输出例子:
Hello, world
function functionFunction(str) { var f = function(str1){ if(typeof(str) == "string" && typeof(str1) == "string") { return str + ', ' + str1; } else { return false; } }; return f; }