js学习笔记 -- 函数
2024-10-21 23:04:32
- js函数有类似javaMethod用法
Math.max.apply(null, [3, 5, 4]); //
Math.max.call(null, 3, 5, 4); // - Array map,reduce,filter,sort
var arr = [, , , , , , , , ];
var results = arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81]
console.log(results);[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)
var arr = [1, 3, 5, 7, 9];
arr.reduce(function (x, y) {
return x + y;
}); //var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.filter(function (x) {
return x % 2 !== 0;
});
r; // [1, 5, 9, 15]var arr = [10, 20, 1, 2];
arr.sort(function (x, y) {
if (x < y) {
return 1;
}
if (x > y) {
return -1;
}
return 0;
}); // [20, 10, 2, 1]
sort默认字符创排序,数字排序需要重写sort 方法 - 闭包: 闭包是由函数以及创建该函数的词法环境组合而成。这个环境包含了这个闭包创建时所能访问的所有局部变量。也就是说返回的函数中存有局部变量。
function makeAdder(x) {
return function(y) {
return x + y;
};
} var add5 = makeAdder(5);
var add10 = makeAdder(10); console.log(add5(2)); //
console.log(add10(2)); // 12 //嵌套的函数可以访问在其外部声明的变量。也可以借助闭包,同样可以封装一个私有变量。
function inc(init) {
let x = init;
return {
inc: function () {
x += 1;
return x;
}
}
}
let inc5 = inc(5)
console.log(inc5.inc())//
let inc10 = inc(10)
console.log(inc10.inc())// 箭头函数内部的
this
是词法作用域,由上下文确定。箭头函数完全修复了this
的指向,这里this指向外部调用对象person。let person = {
name : 'lby',
getname : function () {
let name = () => this.name;
return name()
}
}
console.log(person.getname())
最新文章
- .NET实现微博粉丝服务平台接口
- mysql5.7.10 的源码安装
- iptables基础命令详解
- Excepion
- .NET架构师技能体系
- TCP长连接与短连接的区别
- PERL代码摘录
- 解决java.lang.NoClassDefFoundError: org.jdom.Content
- laravel安装说明
- akoj-1076-Encoding
- call()和apply()的作用
- .Net Core vs .Net Framework 如何为一个应用程序选择一个运行时
- SpringBoot JMS(ActiveMQ) 使用实践
- java中Map集合的常用方法 (转)
- 实验十四 第九组 张燕~杨蓉庆~杨玲 Swing图形界面组件
- Python学习笔记-函数基础
- pom.xml文件详解
- /etc/passwd- 和/etc/shadow-文件
- Win10 JDK 配置
- PL/SQL developer 出现无效的SQL语句的解决