Underscore库-函数系列
1、delay()函数
(1)调用格式:
_.delay(function,wait,[*arguments])
(2)函数功能:推迟一段代码或一个函数的执行。其中,function为自定义的函数,wait为设置延迟的时间(单位为毫秒),可选参数arguments为调用自动以函数时所需的实参(如果函数有参数)。
(3)示例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>delay()</title>
<script src="js/underscore-min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
var fun = function (v) {
console.log("您输入的是:" + v);
};
_.delay(fun, 1000, "underscore");
</script>
</body>
</html>
(4)执行结果:
2、once()函数
(1)调用格式:
_.once(function)
(2)函数功能:
类似于对变量进行打包初始化的过程。once()函数仅执行一次,再次执行时失效。其中function是一个函数的名称。
(3)示例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>once()</title>
<script src="js/underscore-min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
var num, str;
var fun = function () {
num = 0;
str = "1";
console.log("初始化成功!");
}
var init = _.once(fun);
init();
console.log("初始化后值->num:" + num + ";str:" + str);
</script>
</body>
</html>
(4)执行结果:
3、wrap()函数
(1)调用格式:
_.wrap(function,wrapper)
(2)函数功能:
将第一个函数function封装到函数wrapper里。在调用时,function作为wrapper的一个参数进行传入。
(3)示例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>wrap()</title>
<script src="js/underscore-min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
var fun = function (name) {
return "hello," + name;
};
fun = _.wrap(fun, function (func) {
return func("jackie") + ",欢迎学习Underscore!";
}
);
console.log(fun());
</script>
</body>
</html>
(4)执行结果:
4、compose()函数
(1)调用格式:
_.compose(*functions)
(2)函数功能:
返回一个经过多个函数组合后的列表。参数*functions表示多个参数,compose()函数可以将这些函数以一种有序的包含方式进行组合。例如:_.compose(A,B)的执行过程为A(B())。
(3)示例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>compose()</title>
<script src="js/underscore-min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
var fun1 = function (name) {
return "hello," + name;
};
var fun2 = function (object) {
return object + ",欢迎学习Underscore";
};
var fun3 = _.compose(fun1, fun2);
console.log(fun3("jackie"));//fun1(fun2())
</script>
</body>
</html>
(4)执行结果: