vue学习(1)
前置的准备学习:
ES6简单语法:
1.let和const
2.模板字符串
3.箭头函数
4.对象的单体模式
5.es6的面向对象
6.模块化
1.let和const
<script type="text/javascript"> { var a=12; } console.log(a); </script>
浏览器输出12,说明var声明变量的作用域是全局的。
<script type="text/javascript"> { let a=12; var a=13; } console.log(a); </script>
浏览器输出报错信息,说明let声明的变量是块级作用域,不能重复声明。
<script>
var a=[];
for(var i=0;i<10;i++){
a[i]=function(){
console.log(i);
};
}
a[6]();// 10 因为i是用var声明的,作用于全局。
</script>
<script>
var a=[];
for(let i=0;i<10;i++){
a[i]=function(){
console.log(i);
};
}
a[6]();// 6 因为不能重复声明,且是块级作用域,所以每一次循环,都是一个新的函数
</script>
<script> const PI=3.14; PI=2;//Uncaught TypeError: Assignment to constant variable.at let和const.html:28 </script>
const是声明一个常量,不可变,重新赋值则会报错。
2.模板字符串
<script>
var a=1;
var b=2;
//var str="哈哈哈"+a+"嘿嘿嘿"+b; //以前的写法
//console.log(str);//哈哈哈1嘿嘿嘿2
var str=`哈哈哈${a}嘿嘿嘿${b}`//ES6写法 哈哈哈1嘿嘿嘿2
console.log(str);
</script>
3.箭头函数
//无形参 var f=()=>5; //等同于 var f=function(){return 5}; //多个形参 var sum=(num1,num2)=>num1+num2; //等同于 var sum=function(num1,num2){return num1+num2;};
箭头函数的两个坑:1.this的指向发生了改变,指向定义对象时的对象window。2.arguments不能使用。
4.对象的单体模式
<script>
var person={
name:"张三",
age:18,
// fav:function(){
// console.log(this);
// }
fav(){console.log(this)}
}
person.fav();
</script>
解决箭头函数不能指向本身的问题。字面量方式创建对象。
5.面向对象
es5时的面向对象:
<script>
//构造函数的方式来创建对象,面向对象
function Aniaml(name,age){
this.name=name;
this.age=age;
}
Aniaml.prototype.showName=function(){
console.log(this.name)
};//给对象增加方法
var dog=new Aniaml('日天',18);
dog.showName()
</script>
es6的面向对象
<script> class Aniaml{ constructor(name,age){ this.name=name; this.age=age; }//构造方法,且后面不能加逗号 showName(){ console.log(this.name) } } var d=new Aniaml('张三',19); d.showName(); </script>

浙公网安备 33010602011771号