闭包问题:
题目描述:
实现函数 functionFunction,调用之后满足如下条件:
1、返回值为一个函数 f
2、调用返回的函数 f,返回值为按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格,即 ', '
3、所有函数的参数数量为 1,且均为 String 类型
function LinkString(str){ return f = function(obj){
return str + ', ' +obj;
} }
arguments并不是真正的数组,不能使用splice方法截取arguments,需要将arguments转化为数组才行。有两种常用的方法:一是使用slice方法:var args = Array.prototype.slice.call(arguments) ;二是使用循环遍历,将arguments里的数据逐一填入新的数组中。
题目描述:
实现函数 callIt,调用之后满足如下条件
1、返回的结果为调用 fn 之后的结果
2、fn 的调用参数为 callIt 的第一个参数之后的全部参数
function callIt(fn){
var args = Array.prototype.slice.call(arguments,1);
return fn.apply(null,args);
}
声明对象有两种常见方法:
var obj = {} var obj = new Object()
第一种可以直接在括号中以key:value的方式定义属性,后面一种采用点运算符给对象添加属性。
判断字符串中是否有数字,包含返回true,否则返回false
function containsNumber(str){
var check = /d/;
return check.test(str);
}
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
function replaceSpace(str){
return str.replace(/s/g,'%20');
}
/ /:固定搭配
s:转义符号,用来匹配所有空白字符,包括空格、制表符、换页符等等。
g:表示全局匹配