let, const, var
| let | const | var | |
|---|---|---|---|
| 作用域 | block | block | function | 
| 重新赋值 | yes | no | yes | 
| 重新声明 | no | no | yes | 
对象
在下面的对象中,walk 和 talk 被称为方法,可以用两种方式声明
walk 和 talk 都是一样的,但其声明不同
1  | const person = {  | 
person.walk 不会调用该函数,只有 person.walk() 会调用该函数
1  | const newWalk = person.walk;  | 
这里我们得到了 walk 的引用,newWalk 也变成了一个方法
console.log(walk) → 在控制台中记录该函数
console.log(walk) → 调用该函数
要访问对象中的项目,我们使用以下内容:
- person.talk()
 - person[“name”]
 
我们仅当我们从其他地方获取密钥时才使用第二种方法(例如通过某些表单从用户那里获取 name 键名】)
1  | const keyName = "name";  | 
this
this 关键字指向特定对象或提供对该特定对象的引用
在对象外部使用 this 关键字调用函数作为独立函数,返回全局对象
全局对象也称为窗口对象
javascript 中的每个函数都是一个对象
使用 bind 关键字将 this 关键字指向特定对象
1  | const newWalk = person.walk.bind(person);  | 
现在 newWalk 函数指向名为 Dork 的 person 对象,同时将其记录在控制台中
console.log(newWalk()) → 将 person 对象记录在控制台中
箭头函数
普通函数
1  | const square = function (number) {  | 
箭头函数
1  | const square = (number) => {  | 
1  | const square = (number) => number * number;  | 
第二个更受欢迎
箭头函数模板
1  | const <function_name> = <parameters, ....> => {  | 
箭头函数的一个很好的用例
1  | const jobs = [  | 
这里过滤出 isActive 值为真的 job,并存储在 ActiveJobs 变量中
传递给函数的参数是 jobs,函数返回值为真的作业。isActive 的 job
普通函数
1  | const ActiveJobs = jobs.filter(function (job) {  | 
使用箭头函数
1  | const ActiveJobs = jobs.filter((job) => job.isActive);  | 
或
1  | const ActiveJobs = jobs.filter((jobs) => {  | 
模板字符串
与使用 + 连接字符串相比,模板字符串可以以更好的方式完成这项工作
1  | const name = "Dork";  | 
对于模板字符串,我们使用 `(反引号)而不是 "(引号),并且变量放在 ${} 内
相关文章: