发表于: 2019-03-24 22:22:27

1 689


今天完成的事情,今天着实有点水了,自己都看不下去。写了JavaScript的静态页面,看了写关于ES6的东西。没有去先写js部分。师兄建议我任务4,用es6的模板字符串写,但是越看下去,越觉得要补充一下基础。


看了一下关于ES6方面的东西,let变量与块级作用域,模板字符串。


在ES6中,新增了let命令,来声明变量,let和var的用法基本一致,但是存在一些差别。


let的变量只存在let代码出现的代码块中。

let,没有变量提升。

let可以形成暂时性的死区。

let,声明的变量不能同时声明第二次。




作用域上篇日报提到了,全局作用域,和局部作用域,那什么是块级作用域。

全局作用域指的是,函数以外定义的变量,以及最外层的函数。

局部作用域指的是,函数以内的变量,可以在函数以内使用。但是在外面调用的话,就会出现underfunded。

块级作用域指的是,函数里面的代码块,比如


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

我们for循环的外面,打印i的数值,为10,因为这是局部作用域。


function demo() {
   for (let i=0; i<10;i++){

   }
   alert(typeof i);
}
demo();

检测数据类型,i是underfunded,为什么呢,因为块级作用域,块级的作用域从,就存在for循环里,我们在for循环代码块外面打印就会显示underfunded。




关于es6,新定义的模板字符串。之前我们写字符串的时候,需要把一段话一段话的拼接起来,写看着特别辛苦。模板字符串知支持变量,而且还可以嵌套层级。


先从最简单的用法讲起,模板字符串,用反撇号(`),取代了之前一直使用的“”'', ,之前处理,字符串换行的时候,需要用转义符,\n来表示。在es6的模板字符串中,我们直接换行就行了。


但是在模板字符串中,空格,也算是字符串。所以我们换行的时候,一定要留意缩进,html是不区分大小写的语言,而且对换行,不敏感,模板字符串完全不一样,虽然两者不是一回事。



模板字符串的占位符,模板字符串最强大的地方,在于我们省略了之前毫无意义的,拼接字符串的形式,因为占位符里面,可以放表达式,可以把变量放进去。


let name = 'zhangsan';
let age = 19;
let info = `我的名字叫${name}, 我今年${age}岁。`;
console.log(info);

我们用let,定义了几个变量,然后用模板字符串的占位符,放了进去。



而且我们通过模板字符串,还可以创建html模板,通过js输出。



说一下,任务4的,法官日志的逻辑,我打算,把浏览器里面,把数组转为对象的值,先取出来。然后对象里面的内容输出到里面去。

不过我先完成的是,默认有四个盒子,多一个玩家,就要多一个盒子,用模板字符串。


收获,今天完成的事情是,简单的了解了一下关于es6上面的知识,宋恒师兄提醒我多看一下,对象的使用方法,let与var之间的区别,以及全局作用域,和局部作用域,和块级作用域。模板字符串的使用。明天打算开始写法官日志。



返回列表 返回列表
评论

    分享到