this 关键字

 

this关键字 => this表示当前对象 => 在同场景下this表示不同的对象

1. 事件处理函数中的this-------this->事件源

//===============================

2. 普通函数中this--------this -> window对象

3. 定时器中this-----------this -> window对象

4. 自调用函数中this-------------this -> window对象

//===============================

5. 对象方法中的this----调用该方法引用变量指向的对象

 

改变this指向:

1,函数方法call方法:

函数名.call(this指向的新对象,参数1,参数2...)

对象方法.call(this指向的新对象,参数1,参数2...)

2,apply方法:

函数名.apply(this指向新对象,[参数1,参数2...])

对象方法.apply(this指向新对象,[参数1,参数2...])

3,bind方法:

var 新函数 = 函数名.bind(this指向新对象)

var 新函数 = 对象方法.bind(this指向新对象)

新函数(参数1,参数2)

ES6新特性

一, let 和 const 关键字  (声明变量)

二, let 和 var的区别

1.let没有变量提升(预解析) let声明变必须先定义再使用

2. let声明的变量,不能重复声明变量(var num = 100 ,var num = 200)

3. let具块作用域  --(块作用域)

    const 和 let 的区别:const声明的变量称为常量,只能赋值一次

三, 应用场景

1.考虑兼容问题--使用var

2. 变量可以多次改变值--使用let

3. 变量只赋值一次后,不再改变--使用const

 

箭头函数

function fn(){} 声明式

var fn = function(){} 函数表达式

作用:简化函数(匿名函数)的书写

语法:function(){  }------->()=>{}

简写:

1. 形参只有一个, 括号可以省略

(m)=>{}--------->m => {}

2. 函数体只有一行代码 大括号省略

() => {console.log('>>>')}---------->() => console.log('>>>')

3.只有一行代码,并且代码是return语句,大括号和return都可省略

()=> {return 100}--------->() => 100

箭头函数this指向问题

1. 在事件处理函数中this->事件源

2. 箭头函数中this指向 应用上下文中this对象

函数传递参数的时候的默认值:

函数默认值

ES5 实现方式

m = m || 100

ES6 实现方式

function fun(m = 100){}

解构赋值

快速从对象或者数组中取出成员的一个语法方式

let { name, age } = obj

let [a, b, c] = arr // 数组解构赋值

注: 大括号中变量名必须与对象属性名相同

 

模板字符串-->let str = `helloworld-${变量}` 模板字符串

 

展开运算符

let arr = [1,2,3]

...arr -> 1, 2, 3

作用: 数组合并

 

对象字面量简写---->对象属性名和值变量名相同是,只写一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值