目录
Map:
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
- //ES6
- //统计学生的成绩和名字
- var map=new Map([['alife',90],['tom',87],['jack',99]]);
- var score=map.get('tom');//通过key获得value
- map.set('admin',86);
- console.log(score);
- map.delete('too');//删除
- script>
- head>
- <body>
-
- body>
- html>
Set:无序不重复的集合
Set 可以去重
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
-
- var set=new Set([3,1,1,1,1]);
- set.add(2);
- set.delete(1);
- console.log(set.has(3));
- script>
- head>
- <body>
-
- body>
- html>
作用:使用iterator来遍历Map、Set
遍历数组:
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
- var arr=[3,4,5,];
- // in:打印下标 of:打印具体元素
- for(var x of arr){
- console.log(x);
- }
- script>
- head>
- <body>
-
- body>
- html>
遍历Map:
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
- var map=new Map([["tom",100],["jack",90],["life",89]]);
- for(let x of map){
- console.log(x);
- }
- script>
- head>
- <body>
-
- body>
- html>
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
- var set =new Set([5,6,7]);
- for(let x of set){
- console.log(x);
- }
- script>
- head>
- <body>
-
- body>
- html>
java中的格式:
public 返回值类型 方法名(){
return 返回值;
}
定义一个绝对值函数
方式一:
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
- function abs(x){
- if(x>=0){
- return x;
- }else{
- return -x;
- }
- }
- script>
- head>
- <body>
- body>
- html>
一旦执行到 return 代表函数结束,返回结果!
如果没有执行 return,函数执行完也会返回结果,结果就是 undefined
方式二:
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
- var abs=function (x) {
- if(x>0){
- return x;
- }else{
- return -x;
- }
- }
- script>
- head>
- <body>
- body>
- html>
function(x){…}这是一个匿名函数。但是可以把结果赋值给abs,通过abs就可以调用函数!
方式一和方式二等价!
调用函数:

参数问题:javaScript可以传任意个参数,也可以不传递参数~
参数进来是否存在问题?
假设不存在参数,如何规避?
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
- var abs=function (x) {
- if(typeof x!== 'number'){
- //手动抛出异常
- throw 'not a number';
- }
- if(x>=0){
- return x;
- }else{
- return -x;
- }
- }
- script>
- head>
- <body>
- body>
- html>
arguments是一个JS免费赠送的关键字;代表传递进来的所有参数,是一个数组!
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
- var abs=function (x) {
- console.log("x=>"+x);
- for(var i=0;i<arguments.length;i++){
- console.log(arguments[i]);
- }
- if(x>=0){
- return x;
- }else{
- return -x;
- }
- }
- script>
- head>
- <body>
- body>
- html>

问题:arguments 包含所有的参数,我们有时候想使用多余的参数来进行附加操作。需要排除已有参数~
以前:
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
- function aaa(a,b){
- console.log("a=>"+a);
- console.log("b=>"+b);
- if(arguments.length>2){
- for(var i=2;i<arguments.length;i++){
- console.log(arguments[i])
- }
- }
- }
- script>
- head>
- <body>
-
- body>
- html>
现在:
ES6引入的新特性,获取除了已经定义的参数之外的所有参数~…
- html>
- <html lang="en" xmlns:th="http://www.thymeleaf.org">
- <head>
- <meta charset="UTF-8">
- <title>Titletitle>
- <script>
- function aaa(a,b,...rest){
- console.log("a=>"+a);
- console.log("b=>"+b);
- console.log(rest);
- }
- script>
- head>
- <body>
-
- body>
- html>

注意:rest参数只能写在最后面,必须用 … 标识。