【练习】分享几个 js demo 小片段 希望各位喜欢

demo 1 

var FACTORY = function(){
	this.a = 'a';
	this.b = 'b';
	this.c = {
		a:'a+',
		b:()=>this.a
	}
}

console.log(new FACTORY().c.b());

运行结果 为 a

demo 2 

var a;
if(a){
	let a = 20;
}else{
	let a = 30;
}

console.log(a);

运行结果为 : undefined 

因为{}是代码块,出了这个快,快内的变量将不再存在,所以var a 并没有谁真的给他赋值。

另一个问题,if的判定我认为走的是else ,因为 觉得undefined 应该不是真值

demo 3 

let data = [5,10,15,20];
let rs = data
.map(value => value*2)
.filter(value => value >= 20)
.reduce((a,b) => a+b);

console.log(rs);

 运行结果为 : 90

为什么捏???

value * 2  数组 变成 [ 10, 20 ,30 ,40  ]

再 》=20 过滤了一下

于是 大于等于20的 便是 20,30,40

最后 一步 我认为 他们在计算求和 

所以 20 加 30 加 40 便等于90!!!

所以 dingo 答对了 ~~~ 笔芯!!!

【人在学海,身不由己】

猜你喜欢

转载自blog.csdn.net/MENGCHIXIANZI/article/details/106130867