es6简单的学习

Windows Server+SqlServer Always On实战:5步搞定高可用集群搭建 本文详细介绍了在Windows Server环境中,通过5个关键步骤搭建SQL Server Always On高可用集群的实战指南。内容涵盖从底层故障转移集群配置、SQL Server实例启用Always On功能,到创建可用性组和侦听器的完整流程,并提供了核心运维与故障排查思路,帮助企业构建稳定可靠的数据库高可用架构。 阅读详情

let定义:

1、没有域解析,不纯在变量提升

	在代码块内,只要let定义变量,在之前使用都是报错

​ 先定义在使用

​ 2、同一个作用域里面,不能重复定义变量

​ 3、for循环,for循环里面是父级作用域,里面又一个

4、var声明的变量是属于window的let和const不是
{
  let a = 12;
  {
    let a = 6
    console.log(a) //6
  }
  console.log(a) //12
}

var arr = [];
	for (let i = 0; i < 10; i++) {
		arr[i] = function() {
			console.log(i)
		}
	}
	arr[1]();

解构赋值:

let [a,b,c] = [12,1,2];

	let [d,e,f = '暂无数据'] = ['a','b']
	console.log(a,b,c)
	console.log(d,e,f)

	let json = {
		name:'strive',
		age:20,
		sex:'nan'
	}
	let {name:n,age:g,sex} = json
	console.log(n,g,sex)

	let q = 12,w = 5;
	[q,w] = [w,q];
	console.log(q,w)

	function getposition() {
		return {
			t:30,
			l:100
		}
	}
	({t,l} = getposition());
	console.log(t,l)

	function show({a,b,c='默认'}){
		console.log(a,b,c)
	}
	show({
		a:1,
		b:2
	})

字符串模板:

可以随意的换行`${data}`	

字符串查找:

indexof str.indexof(要找的东西)  返回值  索引的位置 没找到返回的-1

includes() str.includes(要找的东西)  返回值 true/false
if (navigator.userAgent.includes('Chrome')) {
		console.log('yes')
	}else {
		console.log('no')
}

字符串检测是已谁开头的:

let str = 'file:///Users/mac/Downloads/es6demo1.html';
let str2 = 'https://www.zhihu.com/';
console.log(str2.startsWith('http'))

字符串检测是已谁结尾的:

let sss = 'aaa.png';
let ssss = 'aaa.html';
console.log(ssss.endsWith('png'))

字符串重复多少次:

let strs = '重复'
console.log(strs.repeat(1000))

字符串填充:
padStart(字符串长度,填充的字符串) 往前添加
padEnd(字符串长度,填充的字符串) 往后添加

let str5 = 'apple';
let startpad = 'xxx';
console.log(str5.padStart(str5.length+startpad.length,startpad))
console.log(str5.padEnd(str5.length+startpad.length,startpad))

函数:

函数默认参数已经定义,不能在使用let或者const声明

默认值函数:

function show2({a=111,b=222}={}) {
		console.log(a,b);
}
show2()

扩展运算符,reset运算符:

let arrs1 = [1,2,3,4,5];
console.log(...arrs1);

function shows1(a,b,c) {
	console.log(a,b,c);
}
shows1(...[1,2,3])

function shows2(...a) {
	console.log(a.sort());
}
shows2(1,9,-3,2)

function shows3(a,b,...c) {
	console.log(a,b)
	console.log(c)
}
shows3(1,2,3,4,5)

// 复制一份数组
let arrss1 = [1,2,3,4,5,6];
let arrs2 = [...arrss1];
console.log(arrss1,arrs2);
// ...:
// 	[1,2,3,4,5] -> ...[1,2,3,4,5] -> 1,2,3,4,5
// 	1,2,3,4,5 -> ...1,2,3,4,5 -> [1,2,3,4,5]
// 剩余参数:必须放到参数末尾

箭头函数:

let jiantou = (a,b) => {
			return console.log(a+b)
}
jiantou(20,3)
// 注意
	// 1、this问题,定义函数所在的对象,不在是运行时所在的对象
let jsonss3 = {
			id:1,
			sex:() => {
					// 箭头函数里的this这时候指向window
					console.log(this.id)
			}
}
jsonss3.sex();
	// 2、箭头函数里面没有arguments,使用...可以代替arguments
function jiantousssss() {
			console.log(arguments)
}
jiantousssss(1,2,3,4,5)
			let jiantou2 = (...argus) => {
			console.log(argus)
}
jiantou2(1,2,3,4,5)
// 3、箭头函数不能当构造函数
function jiantou3() {
			this.name = 'abc'
}
let ns = new jiantou3();
console.log(ns.name);
let jiantou4 = () => {
				this.name = 'abc'
};
let ns1 = new jiantou4
console.log(ns1.name)

数组:

循环:
// forEach
		let arrEach = ['apple','bannene','oringe','tomato'];
		arrEach.forEach((value,index,arr) => {
			console.log(this,value,index,arr)
		},123)
		// forEach(循环的回调函数,this指向谁,箭头函数除外箭头函数只能指向他的父级)
	// map
		// 做数据映射,正常情况下需要配合return,返回的是一个新的数组若没有return,相当于forEach只要使用map一定要有return
	// filter
		// 过滤一些不合格的元素,如果回调函数是true就留下来false就放弃
	// some
		// 类似查找,数组里面某一个元素符合条件,返回true否则false
	// every
		// 数组里面所有的元素都要符合条件,才返回true否则false
	// reduce 从左往右
		// 求数组的和,积,阶乘
			let arrreduce = [1,2,3,4,5,6,7,8,9,10];
			let arrduce = arrreduce.reduce((prev,cur,index,arr)=>{
				return prev+cur;
			})	
console.log(arrduce)	
// reduceRight 从右往左
	// 求数组的和,积,阶乘
// 幂的运算符
// Math.pow(2,3)===2**3

新增数组:

// Array.from有length就可以转换成数组类数组转换成数组
		function arrform(){
			let arrgs1 = Array.from(arguments);
			console.log(arrgs1);
		}
		arrform(1,2,3,4,5,6)

//Array.of 把一组值转换成数组
		let arrof = Array.of('apple','bannene','oringe');
		console.log(arrof);
// arr.find()查找,找出第一个符合条件的数组成员如果没有找到就返回undefined
		let arrlength = [20,900,101,100]
		let arrfind = arrlength.find((item,index,arr)=> {
			return item >100;
		})
		console.log(arrfind)
// arr.findIndex()查找的是位置下标,没有找到的是-1
		let arrfindIndex = arrlength.findIndex((item,index,arr)=> {
			return item >100;
		})
		console.log(arrfindIndex)
// arr.fill(填充的东西,开始位置,结束位置)
		let arrfill = new Array(10);
		arrfill.fill('默认添加',2,8);
		console.log(arrfill)
// arr.includes()包含检测数组中是否有这个元素如果有返回true 如果没有是false
		let arrincludes = ['apple','oringe','banben'];
		console.log(arrincludes.includes('oringe2'))

对象:json

// 对象简介语法,在里面不要使用箭头函数
			let names = 'zhangsan';
			let agex = 18
			let jsones = {
				names,
				agex,
				showa(){
					console.log(this.names)
				}
			}
			console.log(jsones.showa())
// Object.is()用来比较两个值是否相等
			console.log(Object.is(1,1))
// Object.assign(目标对象,source1.source2)复制一个对象,合并参数
			let json1 = {a:1},json2 = {b:2},json3={c:3};
			let objectass = Object.assign({},json1,json2,json3);
			console.log(objectass);
			let objarrass = ['apple','bannene','orange']
			let abjarrsgin = Object.assign([],objarrass)
			console.log(abjarrsgin)
// ...对象身上也可以使用
			let jsondian = {a:1,b:2,c:3}
			let jsondian1 = {...jsondian}
			console.log(jsondian1)

Promise:

// Promise 解决异步回调问题
		let apromise = 101
		new Promise(function(resolve,reject){
			// resolve成功调用
			// reject失败调用
			if (apromise === 10) {
				resolve('成功了')
			}else{
				reject('失败了!')
			}
		}).then((res)=> {
			console.log(res)
		}).catch((err)=>{
			console.log(err)
		})
// Promise.resolve('aa')将现有的东西,转成一个promise对象,resolve状态,成功状态
		let p1 = Promise.resolve('成功!')
		p1.then(res=> {
			console.log(res)
		})
		let p6 = Promise.resolve('成功!')
		p6.then(res=> {
			console.log(res)
		})
// Promise.reject('aa')将现有的东西,转成一个promise对象,reject状态,失败状态
		let p2 = Promise.reject('失败!')
		p2.catch(res=> {
			console.log(res)
		})
// Promise.all([p1,p2])把promise打包,扔到一个数组里面,打包完还是一个promise对象,全部成功返回成功有一个失败就返回失败
		Promise.all([p1,p6]).then((res)=> {
			console.log(res)
		}).catch((err)=> {
			console.log(err)
		})
// Promise.race([p1,p2])把promise打包扔到一个数组里面,打包完还是一个promise对象,第一个成功就返回成功第一个失败就返回失败
		Promise.race([p2,p1,p6]).then((res)=> {
			console.log(res)
		}).catch((err)=> {
			console.log(err)
		})
// promise应用 获取登录状态和用户信息
		let status = 1;
		let userlogin = (resolve,reject)=>{
			setTimeout(()=> {
				if (status===1) {
					resolve({data:'login success',state:0,token:'sjdnajndknasndkas'})
				}else{
					reject('失败1')
				}
			},2000)
		}
		let getuserinfo = (resolve,reject)=> {
			setTimeout(()=> {
				if (status===1) {
					resolve({data:'getuser success1',state:01,token:'asdasdasdasdasd'})
				}else{
					reject('失败2')
				}
			},1000)
		}
		new Promise(userlogin).then((res)=>{
			console.log('用户登录成功')
			return new Promise(getuserinfo)
		}).then(res=> {
			console.log('获取用户信息成功')
		})

模块化:

// import 
		1、可以是相对路径也可以是绝对路径
		2、import模块只会导入一次,无论你引入多少次
		3、import './module/1.js'; 如果这么使用相当于引入文件

			(1)export 导出对象 export导出的对象import导入必须加{}如果是export default导出的不用加{}
				const a = 1
				const b = 2
				export {
					a,
					b
				}
			(2)import 引入导出的内容
				import {a,b} from './module/1.js'
				import * as modules from './module.1.js'
		4、有提升效果,import会自动提升到顶部,首先执行
		5、导出去的模块内容,如果里面有定时器更改,外面呢也会改动
		6、import还可以动态加载模块 import() 返回值是一个promise对象
			优点
				1.按需加载
				2.可以写在if中
				3.路径也可以动态加载
			import ('./module/1.js').then(res=> {
				console.log('成功')
			}).catch(err=> {
				console.log('失败')
			})
		7、默认严格模式

类(class)和继承:

// 继承es5之前
	function Person(name,age){
		this.name = name
		this.age = age
	}
	Person.prototype.showName = function(){
		return `名字:${this.name}`
	};
	let pro1 = new Person('zhangsan',19)
	console.log(pro1.showName())
Object.assign(Person.prototype,{
	showName1(){
		return `my name is ${this.name}`
	}
})
let pro2 = new Person('zhangsan',19)
console.log(pro2.showName1())
// class类的感念es6  
// 没有提升功能必须定义之后再调用
// es5里面有默认函数提升
class Person2{
	constructor(name,age) { //构造方法(函数),调用new 自动执行
		console.log(name,age)
		this.name = name
		this.age = age
	}
	showName3(){
		return `名字为${this.name},年龄为${this.age}`
	}
}
let pro3 = new Person2('lisi',99)
console.log(pro3.showName3())
// class里面this的指向问题 bind 规定重新指向问题
/*
	fn.call(this指向谁,args1,args2) 	  传递的不是数组
	fn.apply(this指向谁,[ags1,args2]) 传递的是数组
*/
class Person3{
	constructor(){
		this.name = '新的aaa';
		this.showName4 = this.showName4.bind(this)
	}
	showName4(){
		return `新的名字为${this.name}`
	}
}
let p3 = new Person3;
let {showName4} = p3
console.log(showName4())
// class 新加的seter 和 geter
class Person4{
	constructor(){
	}
	get aaa(){
		return `获取aaa的值为${this.val}`
	}
	set aaa(val){
		console.log(val)
	}
}
let p4 = new Person4;
p4.aaa = '传输进去的值'
console.log(p4.aaa)
// 静态方法:就是类身上的方法
// 实现让类调用这个方法 使用static关键字就可以实现让类调用类这个对象上面绑定的方法
class Person5{
	constructor(){
	}
	showName5(){
		return `这是showName方法`
	}
	static aaa(){
		return `这是person5的aaa方法`
	}
}
let p5 = new Person5;
console.log(p5.showName5());
console.log(Person5.aaa())
// 子类和父类:继承es5的
// 父类:
function Persons(name){
	this.name = name;
}
Persons.prototype.showName6 = function(){
	return `学生的名字是${this.name}`
};
// 子类:
function Student1(name,skill){
	Persons.call(this,name) // 继承父类属性
	this.skill = skill
}
Student1.prototype = new Persons() //继承父类方法 一定要new person否则不会出现
// 调用
let stu1 = new Student1('xiaoming','逃学');
console.log(stu1.showName6())
// es6的继承
// 父类
class Person7{
	constructor(name){
		this.name = name;
	}
	showName(){
		console.log('fuleidefangfa')
		return `这是父类的方法,${this.name}`
	}

}
// 子类
class Student2 extends Person7{
	constructor(name,skill){
		super(name);//使用super来继承父类的属性
		this.skill = skill;
	}
	showName(){
		super.showName() //父类的方法执行
		return '子类里面的showname';
	}
	showSkill(){
		return `我最擅长的技能是${this.skill}`
	}
}
// 调用
let stu2 = new Student2('大张三','泡妞');
console.log(stu2.showName())
// 继承实现拖拽demo
class Drag{
	constructor(id){
		this.oDiv = document.querySelector(id);
		this.disx = 0;
		this.disy = 0;
		console.log(this.oDiv)
		this.init();
	}
	init(){
		this.oDiv.onmousedown = function(ev){
			this.disx = ev.clientX - this.oDiv.offsetLeft;
			this.disy = ev.clientY - this.oDiv.offsetTop;
			document.onmousemove = this.fnMove.bind(this);
			document.onmouseup = this.fnUp.bind(this);
			return false
		}.bind(this)
	}
	fnMove(ev) {
		this.oDiv.style.left = ev.clientX - this.disx+'px';
		this.oDiv.style.top = ev.clientY - this.disy+'px';
	}
	fnUp() {
		document.onmousemove = null;
		document.onmouseup = null;
	}
}
class DragLimt extends Drag{
	fnMove(ev){
		super.fnMove(ev);//继承父类的方法
		// 限制内容
		if (this.oDiv.offsetLeft<=0) {
			this.oDiv.style.left = 0;
		}else if (this.oDiv.offsetright<=0) {
			this.oDiv.style.right = 0;
		}
	}

}
// 调用
new Drag('#div1');
new DragLimt('#div2');	

数据类型:

/*  1.symbol不能使用new
	2.symbol返回是一个唯一值
		做一个key和一些私有的东西
	3.Symbol是一个单独的数据类型就叫Symbol,基本类型
	4.如果Symbol作为key,用forin循环出不来*/
let sym = Symbol('aaaaaa');
console.log(sym)

generator函数:

/*	1.可以使用结构赋值
	2.扩展运算符
	3.还可以使用Array.from转换成数组*/
	function * gener() {
		yield 'hello';
		yield 'to';
		yield 'world';
		return 'world';
	}
	let gene = gener();
	for (let val of gene){
		console.log(val)
	}
	let [g1,...g2] = gener()
	console.log(g1,g2)
	console.log(...gener())
	console.log(Array.from(gener()))

async特点:

/*	1.await只能放到async函数中
	2.相比genrator语义化更强
	3.await后面可以是promise对象,也可以是数字布尔字符串
	4.async函数返回的就是一个promise对象
	*/
	// 1.promise封装
	// const fs = require('fs');
	/*const readFile = function(filename){
		return new Promise((resolve,reject)=>{
			fs.readFile(filename,(err,data)=>{
				if (err) {
					reject(err)
				}else{
					resolve(data)
				}
			})
		})
	}
	// 使用
	readFile('data/a.txt').then(res=> {
		console.log(res.toString());
	})*/
	// async调用
	/*async function fn (){
		let f1 = await readFile('data/a.txt');
		let f2 = await readFile('data/b.txt');
		let f3 = await readFile('data/c.txt');
		console.log(f1.toString(),f2.toString(),f3.toString());
	}
	fn();*/
	/*5.只要await后面promise状态变为reject那么整个async函数会中断执行
		如何解决async函数中抛出错误,影响后续代码执行
		try {
			//放置异常报错的代码
		} catch(e) {
		}*/
	async function fn1(){
		try {
			return await Promise.reject('失败了!!fn1');
		} catch(e) {
			console.log(e);
		}
		return await Promise.resolve('成功了!fn1');
		
		
	}
	fn1().then(res=> {
		console.log(res)
	}).catch(err=> {
		console.log(err)
	})

Set数据结构:

// Set数据结构:类似数组但是里面不能有重复的值没有key没有get方法 **存储的是一个数组,初始往里面添加东西是	不行的,必须使用add来进行添加才可以
	let set1 = new Set(['a','b']);
	console.log(set1)
	set1.forEach((item,index) => {//可以使用循环来正常的便利里面的属性
		console.log(item)
		console.log(index)//没有下标
	})
	console.log(set1.add('c'))//通过add给set里面添加元素
	console.log(set1.size)//获取里面有多少元素
	console.log(set1.delete('a'))//通过delete删除里面的元素
	console.log(set1.has('b'))//检查set里面是否有这个值有的话true没有的话是false
	console.log(set1.clear())//清空set里面的所有的值
	console.log(set1)
	// set数组去重
	let arrauuns = [1,2,3,4,5,6,7,8,9,0,9,8,7,6,5,43,2,1];
	let arrayuns1 = [...new Set(arrauuns)]
	console.log(arrayuns1)

Map数据结构:

// Map数据结构 对json功能的增强,key可以使任意类型有set和get方法
	let map1 = new Map();
	map1.set('key','value')//设置一个值用set
	map1.get('key')//获取一个值
	console.log(map1)
	map1.forEach(item =>{
		console.log(item)
	})

Number:

// Number新增内容
	Number.isFinite(000)//判断是不是数字是的话返回true不是的话就是false
	Number.isInteger(0.5)//判断是不是整数是整数就返回true不是的话就是false
	// 安全整数
	Number.isSafelnteger(2**53-1)//包含2**53-1和-(2**53-1)为安全整数为true如果不是2**53-1就是不安全整数为fasle
	Number.MAX_SAFE_INTEGER //最大安全整数
	Number.MIN_SAFE_INTEGER //最小安全整数

Math:

// Match
	Math.trunc(4.99)//截取,只保留整数
	Math.sign(-9)//判断一个数是正数还是负数还是0 负数返回的是-1正数返回的是1,0的时候返回的是0,-0的时候返回的是-0其他值返回NAN
	Math.cbrt()//计算一个数的立方根
GitHub 新手使用手册 理论说太多容易忘,来实践实践吧。 阅读详情

相关推荐

KEIL-MDK代码美化神器:AStyle配置全攻略(附常用参数详解)

本文详细介绍了如何在KEIL-MDK中配置和使用AStyle代码格式化工具,包括基础参数设置、高级格式控制、团队协作方案以及KEIL深度集成技巧。通过合理的AStyle配置,开发者可以显著提升代码风格一致性,优化团队协作效率,特别适合嵌入式开发项目。

weixin_30505225的博客 146

1-ES6基础语法

一、ES6简介 ECMAScript6.0的简称,被认为是下一代JavaScript的代称。ES6的目标使JS这门语言可以编写复杂的大型的企业级应用。 ​ 1998年2月 ECMAscript2.0(第一版) ​ 1999年12月 ECMAscript3.0 ​ 2009年 ECMAscript5.0 ​ 2015年6月 ECMAscript6.0 ​ 2016年 ES7 ​ 。。。。 ​ 2020 ES2020 二、ES6相比ES5的变换 更安全、更合理、更严谨 2.1 新增项 ​

weixin_46227249的博客 769

Ubuntu20.04/Debian10安装向日葵远程控制踩坑实录(附依赖问题解决方案)

本文详细介绍了在Ubuntu 20.04/Debian 10系统上安装向日葵远程控制软件的全过程,重点解决了常见的依赖问题,特别是libwebkitgtk相关错误。通过自动修复、手动修改.deb包依赖和使用兼容层三种解决方案,帮助用户顺利完成安装并优化远程控制体验。

silver的专栏 749

ES6 数组的扩展

forEach 数组遍历 var arr = ["足球","篮球","排球","乒乓球","羽毛球","橄榄球","网球"] //es5写法 for(var i=0; i<arr.length; i++){ console.log(arr[i]); } //es6写法 arr.forEach(function (item,index) { console.log(`${item}的下标是${index}`) }) map映射 map方法表示的是映射,返回的是一个全新..

weixin_41040445的博客 350

基于TL431与MOSFET的高效过压保护电路设计详解

本文详细解析了基于TL431与MOSFET的高效过压保护电路设计。通过TL431精准监测电压,驱动MOSFET作为主开关,实现快速可靠的电源保护。文章涵盖电路原理、参数计算、性能优化及实战调试要点,为电子设备提供了一套经典且成本低廉的过压保护解决方案。

weixin_29215391的博客 771

【LTspice】002 第一个仿真电路

目录 1. 光偶元件的工作原理 2. 过零检测电路的工作原理 3. 以PC817光耦搭建一个过零检测电路 1. 光偶元件的工作原理 光耦合器(optical coupler,英文缩写为OC)亦称光电隔离器或光电耦合器,简称光耦。它是以光为媒介来传输电信号的器件。 PC817是一种把红外光发射器件和红外光接受器件以及信号处理电路等封装在同一管座内的器件。当输入电信号加到输入端发光器件LED上,LED发光,光接受器件接受光信号并转换成电信号,然后将电信号直接输出,或者将电信号放大处理成标准数字电平输

m0_59642765的博客 8022

es6自动补全语法padStart padEnd+顺便实现时间的动态更新

一、es6 自动补全语法介绍 1.padStart 用来在指定的字符串前面补全指定字符。 用法实例: let str = "world"; str.padStart(11, "hello "); //hello world 第一个参数11,表示你指定的补全后字符的长度,第二个参数表示需要用来补全的字符串。hello world 包含空格一共11个字符。 那如果指定的位数小于11呢? let str = "world"; //str.padStart(11, "hel

qq_43682422的博客 712

Win11极速安装Tensorflow-gpu+CUDA+cudnn(含视频)

Win11极速安装Tensorflow-gpu+CUDA+cudnn(含视频链接)

weixin_46713695的博客 1万+

JS新规范padStart()详解,自己实现一个简单的padStart()

ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

圆圆的 JavaScript 博客 1万+

量产导入 | 产品可靠性测试标准完整大集合(JEDEC/IEC/SAE…)

产品可靠性测试是产品质量保证中的重要一环, 包含有Pre-con, aging(寿命)和ESD(静电)等, 下面就收集了权威标准JEDEC全系列, 请参照如下 同时也附上其它的可靠性标准供大家参考及交叉理解, 可能侧重点不同, 大家可以参考下。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1660

[cshell]个性化配置你的cshrc/tcshrc

本文介绍了csh/tcsh shell的配置优化方法,主要包括:1. 配置文件管理(全局和个人配置);2. 按键绑定设置(解决远程登录按键问题);3. 提示符个性化(包含颜色配置方案);4. 环境变量设置(如LSCOLORS、CLICOLOR等);5. 安全防护措施(防误删、防覆盖等);6. 实用alias命令集(简化操作、提高效率)。文章提供了详细的配置示例,并建议通过man tcsh获取更多帮助信息。这些配置能显著提升shell使用体验和工作效率。

元直的博客 6110

ES6-字符串扩展-padStart(),padEnd()

ES6 引入了字符串补全长度的功能,如果某个字符串不够指定长度,会在头部活尾部补全。 padStart() 用于头部补全; padEnd() 用于尾部补全。   'x'.padStart(5, 'ab') // 'ababx' 'x'.padStart(4, 'ab') // 'abax' 'x'.padEnd(5, 'ab') // 'xabab' 'x'.padEnd(4, 'ab...

极北 8881

【VMware】win 10:VMware 15 虚拟机安装 win 7 系统

目录 一、准备虚拟机 二、win7 ghost ISO镜像文件下载 三、VMware新建虚拟机 四、VMware安装win7 五、解决vmware虚拟机屏幕没有适应窗口全屏问题 一、准备虚拟机 查看我的另一博文:【VMware】VMware Workstation Pro15 虚拟机永久激活破解安装教程 二、win7 ghost ISO镜像文件下载 百度网盘下载地址:点击前往下载...

顾三殇 —— 博客空间(软件测试) 11万+

ES6简单学习

变量声明 let 关键字 let 关键字用来声明变量,使用 let 声明的变量有几个特点: 不允许重复声明 块儿级作用域 不存在变量提升 不影响作用域链 应用场景:以后声明变量使用 let 就对了 //声明变量 let a; let b,c,d; let e = 100; let f = 521, g = 'iloveyou', h = []; ...

qq_41873783的博客 825

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ES6学习笔记1: es6的简单了解

参考资料:http://es6.ruanyifeng.com/#docs/intro es6和JavaScript的关系:前者是后者的规格标准,后者是前者的实现。 ESMAScript的提案查看网址:https://github.com/tc39/ecma262 各大浏览器的最新版本,对 ES6 的支持可以查看kangax.github.io/compat-table/es6/。 系统对e...

qq_28458369的博客 272

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ES6简单快速学习

作者:白小明0927 链接:https://www.jianshu.com/p/262f4aa1e5b4 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。 1.ES6新特性 let、const let 定义的变量不会被变量提升,const 定义的常量不能被修改,let 和 const 都是块级作用域 ES6前,js 是没有块级作用域 {} 的概念的。(有函数作用域、...

wswz0712的博客 428

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

用简单的方法学习ES6

ES6 简要概览 这里是ES6 简要概览。本文大量参考了ES6特性代码仓库,请允许我感谢其作者@Luke Hoban的卓越贡献,也感谢@Axel Rauschmayer所作的[优秀书籍]//exploringjs.com/es6/)。 起初当我听说ES6时,我花了很多精力去消化学习其概念和基础知识。我经历了这些,希望你们无需重蹈覆辙。因此我写下了这篇对ES6及其新特性的简要介绍,所有知识点都解...

weixin_30432007的博客 304

Symbol es6简单学习

Symboljs的第六种基础数据类型Symbol 用于消除魔术字符串 今天学习了下es6的Symbol这里简单记录下 js的第六种基础数据类型 Symbol 是javascript继String、Number、Boolean、undefined、null之后又一种基础数据类型 Symbol 用于消除魔术字符串 switch (name) { case 'name1': ... break case 'name2': ... break default: ...

weixin_47276928的博客 169

ES6简单语法学习

文章目录ES6简单语法常量解构赋值模板字符串声明对象简写方法简写对象拓展运算符函数的默认参数箭头函数 ES6简单语法 常量 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>es6</title> </head> <body> <script> /* 1.声明变量:var会变量提升

m0_46533814的博客 303

ElasticSearch6 学习(二) elasticSearch的一些简单操作

前言: 学习路径:https://www.bilibili.com/video/av45584656 码家学院的视频 这次是记录ElasticSearch6 与kibana的结合的简单使用 也就是增删改查 目录 1.新增索引 2.新增内容 3.修改数据 4.删除数据 5.版本控制 1.新增索引 ###创建索引 PUT /guodagou 说明是创建成功了 ...

GinChou的萌新博客 817

es6简单学习---(上)。

引用于菜鸟教程: ES6大环境 一、桌面端浏览器对ES2015的支持情况 Chrome:51 版起便可以支持 97% 的 ES6 新特性。 Firefox:53 版起便可以支持 97% 的 ES6 新特性。 Safari:10 版起便可以支持 99% 的 ES6 新特性。 IE:Edge 15可以支持 96% 的 ES6 新特性。Edge 14 可以支持 93% 的 ES6 新特性。(IE7~11 基本不支持 ES6) 二、移动端浏览器对ES2015的支持情况 iOS:10.0 版起便可以支持 99% 的

weixin_43527781的博客 209

es6学习笔记 简单的学习整理

{ // var Obj = (function () { // var _id = 0; // return function obj() { // this.id = _id++ // } // })() // new Obj()//{id:0}; // new ...

qq_34507902的博客 278

简单学习Es6中的this指向

对于一个前端初学者来说,this的指向是一个必须要掌握的知识点,尤其是es6之后的this指向更加变得飘忽不定,我们今天就来了解一下各种情况下this的指向。首先,this不是一个函数也不是某个对象,它具体指向什么东西取决于我们在哪里去调用这个this,只有函数调用的时候才会发生this的绑定bind 跟 call和apply相比 区别显而易见,返回的结果不同 需要自己去调用,那么call跟apply有什么区别呢?

Mr_Roki的博客 568

前端ES6 简单特性学习记录

变量定义的新方式:let/const let 特性: 不允许重复声明 没有变量提升(预解析) 块级作用域(一对{}包括的区域称为一个代码块,let声明的变量只在该代码块起作用) 例子1 :简单的打印数据 使用 var: 这里还是要推荐下小编的web前端学习 群 : 569146385,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括 小编自...

web前端技巧开发 309

vue简单学习-es6规范

1、var/let/const的区别 相同点 三个都是用来声明变量的。 不同点 var声明的变量是全局的。 let声明的变量是块级的,想当于java中的局部变量。 const声明的变量为常量,不能改变。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> ...

vivid9527的博客 207

ES6语法简单学习

1、let 和var关键字用法基本一致,但是没有变量提升,不会提升到作用域顶端

tqq的博客 200
上一篇: vue cli 3.0 安装教程
下一篇: git rebase 合并代码到master分支
new Object ~
博客等级 码龄9年 53粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值