目录
1.Map和Set集合
Map:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<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 可以去重
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<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>
2. iterator
作用:使用iterator来遍历Map、Set
遍历数组:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var arr=[3,4,5,];
// in:打印下标 of:打印具体元素
for(var x of arr){
console.log(x);
}
</script>
</head>
<body>
</body>
</html>
遍历Map:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var map=new Map([["tom",100],["jack",90],["life",89]]);
for(let x of map){
console.log(x);
}
</script>
</head>
<body>
</body>
</html>
遍历set:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var set =new Set([5,6,7]);
for(let x of set){
console.log(x);
}
</script>
</head>
<body>
</body>
</html>
3.函数的定义和参数获取
3.1 定义一个函数
java中的格式:
public 返回值类型 方法名(){
return 返回值;
}
定义一个绝对值函数
方式一:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function abs(x){
if(x>=0){
return x;
}else{
return -x;
}
}
</script>
</head>
<body>
</body>
</html>
一旦执行到 return 代表函数结束,返回结果!
如果没有执行 return,函数执行完也会返回结果,结果就是 undefined
方式二:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var abs=function (x) {
if(x>0){
return x;
}else{
return -x;
}
}
</script>
</head>
<body>
</body>
</html>
function(x){…}这是一个匿名函数。但是可以把结果赋值给abs,通过abs就可以调用函数!
方式一和方式二等价!
调用函数:
参数问题:javaScript可以传任意个参数,也可以不传递参数~
参数进来是否存在问题?
假设不存在参数,如何规避?
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<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免费赠送的关键字;代表传递进来的所有参数,是一个数组!
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<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 包含所有的参数,我们有时候想使用多余的参数来进行附加操作。需要排除已有参数~
以前:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<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引入的新特性,获取除了已经定义的参数之外的所有参数~…
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function aaa(a,b,...rest){
console.log("a=>"+a);
console.log("b=>"+b);
console.log(rest);
}
</script>
</head>
<body>
</body>
</html>
注意:rest参数只能写在最后面,必须用 … 标识。
本文含有隐藏内容,请 开通VIP 后查看