default(默认值)
function fun(a){
a=a||0
return a/5;
}
console.log(fun(3))//这个有输出
console.log(fun())//这个没有输出
function bar(a=0){
//参数默认值 不传实参时形参会有个默认值
return a/5;
}
console.log(bar())
console.log(bar(10))//两个都有输出
template 模板字符串
//ES5中写法
var html = "<div><p></p><span></span></dv>";
console.log(html);
//ES6中写法: ``
var str = ` <div>
<p>${name}</p>
</div>` ;```
### form
function fun(){
console.log(arguments);
//Array.prototype.slice.call(arguments)//将类数组转换为数组(ES5中)
let a=Array.from(arguments)//所有的类数组都可以用这种方法转为数组
a.push("d");
console.log(a)
}
fun("a","b","c")
let b = Array.from("hello")
console.log(b)```
//类数组:
document.querySelectorAll()
document.getElementsByTagName()
document.getElementsByClassName()
...
set & map
set & map
set 一种新的数据结构 和Array类似 但是并没有重复元素
add()向集合添加元素
delete()删除指定元素
has()判断集合是否包含指定元素
size 得到集合的长度
clear()清空集合
无length属性 有size属性
无下标概念 有has()
let s = new Set([2,22,2,2,3,3,3,4,5])
console.log(s,s.length,s.size)// length 为undefined size为5
//无length属性 有size属性
let s2 = new Set();
s2.add(1)//添加值得方法
s2.add(1)
s2.add(2)
s2.add(2)
console.log(s2,s2.size)// [1,2] size为2 表明set中没有重复元素
console.log(s2.has(1),s2.has(2),s2[1])//true true undefined
// 无下标概念,所以用下标取不到需要值 有has()
s2.delete(1);//删除方法
console.log(s2);
s2.clear();//清空全部
console.log(s2)
//遍历的方法
console.log(s.keys())//返回键
console.log(s.values())//返回值
console.log(s.entries())//返回键值对
let m = new Map()
m.set("name","sang")
console.log(m)
console.log(m.get("name"));
//Map 可以使用任意类型做键 哪怕是函数 对象
let a = 10;
m.set(a,"abc")
console.log(m)```
网友评论