Vue小白篇 - ES6的语法
为什么要学 ES6 的语法呢?
因为 Vue 语法有很多都是 ES6(ECMAScript 6),这里推荐 [阮一峰 ECMAScript 6 入门]: http://es6.ruanyifeng.com/
# // var 声明的是全局变量
<script type="text/javascript">
// 输出a,发现没有,会自动在前面 var a; 然后再进行操作
console.log(a) //有变量提升,undefined
{
var a = 3;
}
console.log(a) //3
# let 声明的是局部的,不会存在变量提升
console.log(b)
{
// b 是局部作用域的 只能在这个大括号里才能使用
let b = 10;
}
console.log(b)
</script>
let声明变量的特点:
1、局部作用域
2、不会存在变量提升
3、变量不能重复声明
let 与 var 声明变量的区别:
var 声明的是全局变量,而 let 是局部的
const 声明变量
<script>
console.log(b)
{
const b = 10;
b = 20; // 报错
}
console.log(b)
</script>
const 声明变量的特点:
1、局部作用域
2、不会存在变量提升
3、变量不能重复声明
4、只能声明常量,不可变的量 (比 let 声明变量多一个特点)
模板字符串
tab 键上面的反引号 `${变量名}` 来插值
<script>
let name = '未来';
let str = `我是${name}`;
console.log(str) // 我是未来
</script>
ES6 的箭头函数
funtion () {} === () => {} this的指向发生改变
# ES5 声明函数:
function add(x){
return x;
}
add(5)
let add = function(x){
return x;
}
console.log(add(50))
# ES6 声明函数(箭头函数):
let add = (x) => {
return x;
}
console.log(60)
# 简洁版(不易阅读):
let add2 = x => x;
console.log(add2(100))
#ES5 的案例:
<script type="text/javascript">
let person = {
name: '日天',
age: 18,
fav: function(){
console.log(this) // 指向 person
console.log(this.name) // 日天
}
}
person.fav()
</script>
# ES6 的案例:
let person = {
name: '日天',
age: 30,
fav: () => {
//this指向 发生了改变。this指向 定义person的父级对象(上下文)
console.log(this) // 指向window
console.log(this.name) // 输出 空
}
}
person.fav()
# 对象的单体模式
<script type="text/javascript">
let person = {
name: '日天',
age: 18,
fav(){ // 相当于 fav:function(){}函数声明
console.log(this) // // 指向 person
console.log(this.name) // 输出 日天
}
}
person.fav()
</script>
ES6 的类
function person(name, age){
this.name = name;
this.age = age;
}
var p1 = person('tom','16');
<script>
//声明一个Person 类
class Person{
// 当前类的父类(继承性)
// constructor 方法相当于python中的__init__初始化方法
constructor(name='tom', age=45){
this.name = name;
this.age = age;
}
showname(){
console.log(this.name)
}
showage(){
console.log(this.age)
}
}
let v = new Person();
v.showname(); //输出tom
</script>
Vue小白篇 - ES6的语法的更多相关文章
- Vue小白篇 -Vue 的模板语法
可以插入任何你想插入的内容,除了 if-else if-else用三元运算符代替 <div id="box"> <!--模板语法--> <h2> ...
- 面向对象编程-终结篇 es6新增语法
各位,各位,终于把js完成了一个段落了,这次的章节一过我还没确定下面要学的内容可能是vue也可能是前后端交互,但无论是哪个都挺兴奋的,因为面临着终于可以做点看得过去的大点的案例项目了,先憋住激动地情绪 ...
- Vue小白篇 - Vue介绍
Vue ?啥是Vue?能干嘛? vue 的介绍 Vue 是一套用于构建用户界面的 渐进式框架 ,与其它大型框架不同的是, Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层 前端三大框 ...
- Vue小白篇 - Vue 的指令系统 (1) v-text、v-html
v-text:相当于innerText v-html:相当于innerHTML <div id="box"> {{ msg }} <div v-text=&quo ...
- Webstorm添加新建.vue文件功能并支持高亮vue语法和es6语法
转载:https://blog.csdn.net/qq_33008701/article/details/56486893 Webstorm 添加新建.vue文件功能并支持高亮vue语法和es6语法 ...
- Vue(1)- es6的语法、vue的基本语法、vue应用示例,vue基础语法
一.es6的语法 1.let与var的区别 ES6 新增了let命令,用来声明变量.它的用法类似于var(ES5),但是所声明的变量,只在let命令所在的代码块内有效.如下代码: { let a = ...
- webstorm中.vue报错(es6语法报错)-转
1.webstorm中es6语法报错,解决方法: 打开 Settings => Languages & Frameworks => Javascript把 Javascript L ...
- es6基本语法,vue基本语法
一.es6基本语法 0.es6参考网站 http://es6.ruanyifeng.com/#README 1.let 和 const (1)const特点: 只在局部作用域起作用 不存在变量提升 不 ...
- 小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式:
小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式: 直接引用VUE; 将vue.js下载到本地后本目录下使用; 安装Node环境下使用; ant-desig ...
随机推荐
- Linux系统基于fork()新进程的创建
作者:严哲璟 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 fork属于系 ...
- Ubuntu简单安装kafka及使用
参考地址:https://www.jianshu.com/p/d0e630c8f4ae 一.下载 kafka 二进制安装包 下载地址: http://kafka.apache.org/download ...
- 【串线篇】spring boot配置文件大全【上】
一.配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的: • application.properties • application.yml 配置文件的作用:修改SpringB ...
- 最新Zip压缩文件漏洞,黑客可以触发目录遍历攻击
近日,国内某安全公司研究人员透露了一个关键漏洞的详细信息,该漏洞影响了许多生态系统中的数千个项目,黑客可以利用这些漏洞在目标系统上实现代码执行. 黑客是如何通过Zip压缩文件入侵攻击?被称为“ZipS ...
- mssql 动态表名,游标
ALTER PROCEDURE [dbo].[ken_overtime_check](@p_use_code nvarchar(100),@p_table_name nvarchar(1000)) A ...
- hover()函数的用法
定义和用法 hover() 方法规定当鼠标指针悬停在被选元素上时要运行的两个函数. 实例 当鼠标指针悬停在上面时,改变 <p> 元素的背景颜色: $("p").hove ...
- hdu 1695: GCD 【莫比乌斯反演】
题目链接 这题求[1,n],[1,m]gcd为k的对数.而且没有顺序. 设F(n)为公约数为n的组数个数 f(n)为最大公约数为n的组数个数 然后在纸上手动验一下F(n)和f(n)的关系,直接套公式就 ...
- 验证码生成(servlet)
一 效果如下: 二 java 代码如下: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import j ...
- 【8.0.0_r4】AMS分析(十六)(ActivityManagerService.java上)
代码位于frameworks/base/services/core/java/com/android/server/am/,一共有七十个文件. Java源码位于package com.android. ...
- 深度学习中的batch、epoch、iteration的含义
深度学习的优化算法,说白了就是梯度下降.每次的参数更新有两种方式. 第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度.这种方法每更新一次参数都要把数据集里的所有样本都看一遍, ...