From ea4a074c04954fe844c4ce10421523db12560faf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A9=B9=E7=A9=8E?= <5431277+zhanying189@user.noreply.gitee.com> Date: Mon, 24 May 2021 14:37:02 +0800 Subject: [PATCH] update part1/fed-e-task-01-02/README.md. --- part1/fed-e-task-01-02/README.md | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/part1/fed-e-task-01-02/README.md b/part1/fed-e-task-01-02/README.md index 72002b9..1eaebc8 100644 --- a/part1/fed-e-task-01-02/README.md +++ b/part1/fed-e-task-01-02/README.md @@ -15,6 +15,8 @@ for(var i = 0; i < 10; i++) { } a[6]() ``` +10 +a[6]执行时,for循环执行完毕了,全局的i此时的值为10   @@ -29,8 +31,7 @@ if (true) { let tmp; } ``` - -  +报错,因为if语句块里使用了let声明了tmp,但是let不允许变量提升,此时变量tmp没有初始化,会报错   @@ -39,14 +40,16 @@ if (true) { ```javascript var arr = [12, 34, 32, 89, 4] ``` - +var min=Math.min.apply(null,arr)     ### 4. 请详细说明var、let、const三种声明变量的方式之间的具体差别 -  + 1、var存在变量提升,可以在声明前使用,let,const存在暂时性死区,不能在声明前使用; + 2、var在全局作用域下声明变量会导致变量挂载在window上,其他两者不会 +3、let和var作用基本一致,但是后者声明的变量不能再次赋值   @@ -65,29 +68,37 @@ var obj = { obj.fn() ``` -  +20,fn是由obj调用的,它的this是obj,所以此处this.a===obj.a   ### 6. 简述Symbol类型的用途 -  + 对对象属性带来了一些好处,字符串不能做到的事:在symbol出现之前对象属性只能以字符串形式出现,其他类型也会被强制转换成字符串类型   ### 7. 说说什么是浅拷贝,什么是深拷贝? -  + 浅拷贝只能遍历到对象属性的第一层,如果某个属性值是对象,不会遍历到其属性值; + 深拷贝会将对象所有内容拷贝出来   ### 8. 请简述TypeScript与JavaScript之间的关系? - -  - +1、ts是重量级的强类型的面向对象的编译语言,js是轻量级解释语言 +2、ts的内部实现不允许在服务器端使用,只能在客户端使用;js可以在客户端和服务器端使用; +3、为了在代码级别绑定数据,ts使用类型和接口之类的概念来描述所使用的数据,js中尚未引入此概念 +4、ts编写的代码需要先编译,再转为js,js无需编译 +5、ts支持模块,可以进行模块化编程,js不支持; +6、ts支持任意数量的可选参数,js不支持   ### 9. 请谈谈你所认为的typescript优缺点 +优:1、静态类型 缺:1、学习成本 + 2、方便阅读 2、开发效率降低 + 3、减少bug 3、部分第三方库的兼容 + 4、社区活跃 4、需要编译   -- Gitee