10.20随笔

Posted liuyangya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.20随笔相关的知识,希望对你有一定的参考价值。

ES6

ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言

这种语言在万维网上应用广泛,它往往被称为JavaScriptJScript,但实际上后两者是ECMA-262标准的实现和扩展。

 

模板对象 

 

新的语法  $ {NAME},并把它放在反引号里

 

 

遍历数组

 

var arr=[‘jack‘,‘rose‘,‘lucy‘,‘lolita‘];
console.log(‘原始for循环:‘);
for(var i=0;i<arr.length;i++){
console.log(i+‘ ‘+arr[i]);
}
 
console.log(‘ESS[forEach]:‘);
arr.forEach(function(value,index){
console.log(index+‘ ‘+value);
})
 
console.log(‘for-in:‘);
for(var i in arr){
console.log(i+‘ ‘+arr[i]);
}
 
console.log(‘ES6[for-of]:‘);
for(var name of arr){
console.log(name);
}
 
 
 
 
var arr2=[56,88,100,‘99‘,150,1818];
//过滤数组(filter)
arr2=arr2.filter(function(value,index){
return value>100;
})
console.log(arr2);
//遍历的同时修改
arr=arr.map(function(value,index){
return ‘welcome:‘+value+‘ ‘+index;
})
console.log(arr);
 
 
 
 
 
新的集合 ☆
Arry set map三者的区别?

小结:对比三种存储介质

Array: 有序集合,下标是唯一的,值是可以重复的

Set   : 无序集合,没有下标,值就是唯一的

Map : 无序集合,采用键值对形式存储数据,键(key)是唯一的,值可以重复

 

set

 

 

map

 

 

var myset = new Set("ABCDEAB");//实际存储的值是:ABCDE,因为会自动过滤重复的值
console.log(myset.size);//Set集合的长度:0
myset.add("W");//给Set添加一个值
myset.delete("A");//从Set中删除A
myset.clear();//清空整个Set集合
console.info(myset.has("X")) // 检索Set中是否有X这个值
console.info(myset[2]) // Set不支持索引,所以这行会报错
Array.from(myset);//Set转数组

key-value
var maps = new Map();
maps.set("username", "小三");//存储三组数据
maps.set("age", 20);
maps.set("sex", "男");
console.log(maps.get("username"));//通过Key取出
console.log(maps.size);//返回长度:3
console.log(maps.has("sex"));//是否有该key
console.log(maps.delete("age"));//根据key删除一个值
//      console.log(map.clear());//清空
console.log(maps);//输出整个map集合
console.info(maps.keys());//返回Key的集合
console.info(maps.values());//返回Value的集合
 
 
 
 
面向对象的方法

Object.create():根据原型创建一个子类对象(继承的另一种形式)

 

ct.defineProperty(Obj,property,{}); 在一个对象上定义新的属性

 

Object.defineProperties(对象名,要添加的属性): 为对象一次定义多个属性

 

 

 

 

修饰器set和get

 

 

 

 

 

默认参数

 

 

 

 

 

拓展运算符 三个点(...)

将一根数组转换为用逗号分隔的参数列表

 

 

 

let 和 var ☆

的区别?

1.定义的变量作用域只是封闭块,而不是整个函数

2.var定义变量声明提前,也就是可以在创建前获取,但结果是undefined;

而let不存在声明提前,所以如果在创建前获取,会报错的

3.var定义的全局变量是属于window的,可以通过window取出来 (window点的出来);

而let定义的全局不属于window (window点不出来)

 

 

 

 

const常量
特点 通常全局 局部时等于let效果
1.常量不让后来修改
2.常量必须有初始值
3.如果将const定义的变量放在块级作用域中,则与let效果一样
 

 

 

解构
1.逗号隔开,用来批量赋值 (按顺序去赋值) 2.使用解构进行变量的交换 [a,b]=[b,a]

 

 

箭头函数

首先,我们发现省略了function,用()代替。

其次,{}被=>代替了。

最后,里面return没有了,因为它将暗地里返回单个语句的结果。如果你超过了一行,将需要明确使用return。

最重要的是,在ES6中的内层函数里,可以潇洒的使用this,它代表的就是外层函数的 ☆☆

this。因为箭头函数没有它自己的this值,箭头函数内的this值继承自外围作用域。

 

新增写法

String:

 

repeat();重复当前字符串多少次 重复多少次

console.log(“ABC".repeat(3));//ABCABCABC

 

includes();检测当前字符串是否包含某个字符串,包含返回true ☆ 检测是否包含

console.log(“ABC".includes("A"));//true

 

startsWith();检测某字符串是否在源字符串的头部,包含返回true ☆ 是不是以啥开头

console.log(“ABC".startsWith("B"));//false

 

endsWith();检测某字符串是否在源字符串的尾部,包含返回true ☆是不是以啥结尾

console.log("ABC".endsWith("C"));//true

 

Math:

 

Math.trunc();不进位的去除小数点

console.log(Math.trunc(3213.5));//3213

 

Math.sign();如果参数数字是正数,返回1;如果是负数,返回-1;如果是0,返回0

console.log(Math.sign(3213.5));//1

console.log(Math.sign(-3213.5));//-1

console.log(Math.sign(0));//0

☆用来判断当前数字的正负数
 
 
 
 
map和weakmap的区别? ☆
 
它两的结构类似也是用于键值对的集合
区别:weakmap只接受object对象作为键名(null)除外,方法只有set(),get(),has(),delete()
weakup没有遍历方法,size属性,clear方法
 



以上是关于10.20随笔的主要内容,如果未能解决你的问题,请参考以下文章

随随笔随笔新新

随笔标题

随笔测试

笔新新随随笔 新随

新随笔新随笔

随笔新新随随笔随随随