-
map.entries() 显示全部
查看全部 -
map 类型初始化 赋值 添加数据 删除数据 判断是否存在
查看全部 -
Map() 键 可以是多种数据类型
查看全部 -
Set 合并 去重,交集,差集
查看全部 -
Set (arr) 只能传入数组, 而且有去重效果
查看全部 -
filter 过滤 传统函数写法
查看全部 -
filter 过滤 箭头函数写法
查看全部 -
...num 扩展运算符与循环遍历结合实现动态运算
查看全部 -
Testt
查看全部 -
map定义
const map = new Map([
["s1","AS1"],
["s2","AS2"]
]);
map.set("s3","AS3"); //增加
map.delete("s2"); //删除
console.log(map.has("s3")); //判断是否存在
console.log(map); //输出
// map转set
console.log(...map2.values()); //将value转成数组
let arr1 = [...map2.values()] ;
let arr2 = [...map2.entries()] ; 将key-value 转成数组
查看全部 -
Set 集合 接受数组的格式
let arr = [3,4,5,6,6,2]
let set1 = new Set(arr); //去重,输出3,4,5,6,2
set.add(8);
set.delete(3);
let set4=new Set([...set2,...set3]); //合并去重
let set5=new Set(...set2.filter(x->set3.has(x))) //取交集
let set5=new Set(...set2.filter(x->!set3.has(x))) //取差集
;
查看全部 -
let list=[2,3,4,5,6,7];
for (const i in list){
//in 关键字输出的是坐标
}
for (const of list){
// of 关键字输出的是具体的元素
}
list.forEach((n,i) => {
console.log(i); //坐标
console.log(n); // 元素
}
查看全部 -
尾调用的作用: 共用前一个方法的内存空间 提高运行速度 ,尤其递归,很适合使用尾调用
满足尾调用的条件:最后一步调用了其他函数 最后一步调用的函数没有参与运算
let fun4=()=>{
return fun1(2,3)+2 //<----------不属于尾函数调用
}
查看全部 -
箭头函数的写法:
let fun3=(x,y)=>{
return x+y;
}
无参数的时候
let fun3=()=>{
console.log('测试方法');
}
查看全部 -
模板字符串拼接,使用$()的方式。
原:console.log( 'name='+name;
现:consloe.log( `name=${name}` 注意此处不是单引号或者双引号,而是反单引号 `
查看全部 -
1,let不允许重复定义,与var不同
2,let是局部变量,与var不同。var定义的是全局变量
3,const定义的是一个不可修改的常量,不可以重复赋值
4,indexof返回的是0/-1, es6中用includes方法代替 返回true / false;
5,startWith和endWith 也是返回true/false
查看全部 -
要注意const声明的常量不是值不能动,而是指向的那个内存地址所保存的数据不得改动。对于简单的数据类型(Number, String, Bool)值就保存在那个内存地址,所以值就不能变了。而复合类型的(最主要的是数组和对象)里面的内容是可变的,但指向还是不能变。
From阮一峰老师的《EMCAScript 6 入门》
查看全部 -
课程安排查看全部
-
课程目标查看全部
-
JS的问题出现在哪儿查看全部
-
//1et str="name="+userName+",age="+userage+",1ogo="+1ogo ;
let str= name1=${userName },age1=${userAge},1ogo3=${logo}^ ;
console. log(str);
查看全部 -
●问题2 :字符串方面的处理
●indexOf
●includes、 startsWith、 endsWith
●模板字符串
查看全部 -
把ES6以上的版本,转换成ES5
首先把2015的插件卸载掉:npm unistall --save babel-preset-es2015
对ES以后的所有版本都用env,代表ES6+:npm install babel-preset-env -D
.babelrc文件中改为:{"presets": ["env"]}
查看全部 -
半自动转换。。也可以说是手动
.babelrc:
{"presets": ["es2015"],"plugins":[]}
"scripts":{
"build":"babel src/index.js -o dist/index.js"
}
npm run build
将
"scripts":{
"build":"babel src -d dist"
},
复制到package.json中
src同级新建一个.babelrc文件,将{"presets": ["es2015"],"plugins":[]}复制进去
这时候运行npm run build
查看全部 -
1.手动单个文件转换:babel es6.js --presets es2015
这行命令行仅限在命令行看转换后代码,导出为另一个文件需要:
babel es6.js -o js2.js --presets es2015
-o为out表示输出
2.将文件夹src底下的文件批量转换到dist文件夹中:
babel src -d dist --presets es2015
查看全部 -
用于高版本ES转成低版本ES

查看全部 -
ES全家福
要点1:ES版本很多,为什么经常听到ES6
ES的版本命名规则
区分ES5和ES6以后的版本
ES2015、2016、2017、2018、2019泛称ES6。细分的话就是ES6,7,8,9,10
要点2:各个版本细节
ES3 1999年12月颁布
ES4 2008年7月发布之前废弃
ES5 2009年12月发布
ES5升级到ES2015,添加了类和模块、箭头函数等很多变革
ES2015升级到ES2016,添加Array.prototype.includes、求幂操作符
ES2016升级到ES2017,添加字符串填充、函数参数的尾逗号、增加异步函数等操作。
ES2017升级到ES2018,添加共享内存和Atomics、用于正则表达式的“dotall”标志。
ES2018升级到ES2019,添加更友好的JSON.stringify,为Symbol类型增加Symbol.protptype.description的一个访问器属性。
查看全部 -
JS1内容:
import js2 from './js2.js';
let m=0;
function fun2(){
return 666+js2.m1
}
export default{
name:'测试网页01',
fun:(x)=>{
return `传参是${x}`
},
fun2:()=>{
return fun2()
}
}
JS2内容:
let m=100;
let n=200;
export default{
m1:m+n,
}
HTML内容:
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
<script type="module">
import js1 from './js1.js';
console.log(js1.name);
console.log(js1.fun(999));
console.log(js1.fun2());
</script>
</html>
查看全部 -
解决模块引用时跨域问题-安装live server插件,且通过此插件运行访问网页
跨域-浏览器同源(同一个域)策略的限制
浏览器类似于Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.的报错,基本都是跨域问题
查看全部 -
Module语法:
export:暴露 import:引入
JS文件中export default{}中的内容是别的文件通过inport引入可以使用的
查看全部 -
Map的使用方法
对象类型key只能是字符类型,Map种的key可以是各种类型。
let num = 123;//数字
let arr = [1,2,3,4];//数组
let fun = function(){};//函数
let obj = {};//对象
//一般情况下,如果是变量类型用Let,对象类型集合类的用const创建
const map1 = new Map();
map1.set(num,'q1');
map1.set(arr,'q2');
map1.set(fun,'q3');
map1.set(obj,'q4');
map1.set('aaa','q5')
console.log(map1.keys);
for(let key of map1.keys()){
console.log(key);
console.log(typeof(key));
}
实例2:
const map2 = new Map([
['s1','as1'],
['s2','as2'],
['s3','as3'],
['s4','as4']
])
map2.set('s5','as5');
map2.delete('s4');
console.log(map2.has('s4'));
console.log(map2.has('s3'));
console.log(map2);
console.log(map2);
console.log(...map2.values());//将values转成数组,直接进行展示
let arr1 = [...map2.values()];//转存value值
console.log(arr1);
let arr2 = [...map2.keys()];//转存key
console.log(arr2);
let arr3 = [...map2.entries()];//整体转存
console.log(arr3);
for(let value of map2.values()){
console.log(value);
}
查看全部 -
set使用方法
set用来数组去重,合并、交集、差集。set里接收的是数组
let arr=[5,13,6,7,10,5,13]
let arr1 = new Set(arr)//去重
console.log(arr1);
let arr2 = new Set([4,6,8,2,1]);
let arr3 = new Set([3,6,8,7,1])
arr2.add(0)
arr2.delete(8)
console.log(arr2);
let arr4 = new Set([...arr2,...arr3])//合并两个Set,并且去重,这是set的一个特点,因为set里面本身不允许重复
console.log(arr4);
let arr5 = new Set([...arr2].filter(x=>arr3.has(x)))//取交集
console.log(arr5);
let arr6 = new Set([...arr2].filter(x=>!arr3.has(x)))//差集
console.log(arr6);
let arr66 = new Set([...arr2].filter(function(x){
return arr3.has(x)
}))//ES5函数写法
console.log(arr66);
查看全部 -
filter:作用是过滤、筛选
let num=[5,13,6,7,10,5]
let num1=num.filter(x=>x==5)
let num2=num.filter(x=>x!==5)
console.log(num1,num2);
查看全部 -
...:扩展运算符
let add=(a,b,c)=>{
return a+b+c
}
let num=[2,3,6]
let n=add(...num)
console.log(n);
let add=(...c)=>{
let sum=0;
for (var num of c) {
sum+=num;
}
return sum
}
let num=[5,13,6,7]
let n=add(...num)
console.log(n);
查看全部 -
常规循环:while、for
ES6循环:for ...of循环、for ...in循环forEach循环

for in in得到数组的下标
for of of得到数组的内容
for each 两个参数分别得到数组的内容、数组的下标
查看全部 -
尾调用可优化内存空间,递归是尾优化的典型应用
查看全部 -
函数默认值、多参数的写法
function fun1(x=0,y=0){
return x+y;
}
console.log(fun1(2,1));
function aaa(...n){
console.log(n.length,n,n[3]);
}
aaa(1,2,3,4,5,6,7,1)
2.箭头函数
let fun2=(x=0,y=2)=>{
return x+y;
}
console.log(fun2(3,7));
// 只有一个参数时,()可以省略,没有参数或者两个及以上参数必须有()
let fun3=x=>{
return x;
}
// 如果函数体里边只有一句话,大括号也可以不要,return单词省略不写
let fun4=x=>x+1;//隐式返回
console.log(fun3(111),fun4(5));
3.函数尾调用
查看全部 -
function aaa(a,b,c,d){
return a[0]+b+a[1]+c+a[2]+d
}
function bbb(userName,userAge,height){
return aaa`姓名=${userName},年龄=${userAge},身高=${height}`
}
console.log(bbb('黄良玉','28','168'));
查看全部 -
indexOf判断指定字符串是否存在,不存在就返回一个-1
if(n==-1){}else{}
includes判断是否存在,返回true或false
if(n){}else{}
startWith,endWith是否以?开头/结尾返回true或false
startWith("a",4)参数4表示以索引为4开始(0开始数)
endWith("a",9)参数就表示在前九个字符是否以a结尾(以1开始数)
查看全部 -
返单引号拼接字符串可以加入函数,函数可以带入参数,参数可以用返单引号任意拼接
函数传参如图
查看全部 -
字符串拼接
用返单引号``和占位符${}形式拼接字符串
注意:凡是出现在返单引号的内容都会原样输出,如果加入人为换行等操作,都会原样输出。所以在返单引号里拼接字符串最好不要加入换行等操作。
查看全部 -
1.let不允许重复声明
2.let创建局部变量(块级)
3.同一个块,不允许重复的变量声明
const:定义常量
查看全部 -
用来判断指定字符串是否存在
indexOf不存在时返回-1,存在时返回字符串开始位置
includes存在时返回true,不存在时返回false
startsWith判断是否以某字符串开头,array.startsWith(string,num)表示从num位置是否以string开头,num表示开始查找的位置,不带num参数从0开始找
endsWith判断是否以某字符串结尾,array.ensWith(string,num),表示前num个字符是否以string结尾,注意要从1开始数,startsWith是从0开始数。
查看全部 -
ES、JS之间的关系查看全部 -
用let定义变量不允许重复声明
let创建局部变量(块级)。var创建的是全局变量。
同一个块,不允许重复的变量声明
const用来创建常量,创建后不允许修改
查看全部
举报