前言
最近一直在使用visual studio code(以下简称vsc)作为我的主力编辑器,不过最近在使用vsc写node.js代码时却碰到了一个问题:竟然没有智能提示!!!对于我这种离开智能提示就写不出代码的人简直不能忍,于是赶紧去官网查了一下文档。原来vsc使用的是 TypeScript definition 文件为vsc提供基于JavaScript框架的智能提示以及在使用错误的API时的警告。
最近一直在使用visual studio code(以下简称vsc)作为我的主力编辑器,不过最近在使用vsc写node.js代码时却碰到了一个问题:竟然没有智能提示!!!对于我这种离开智能提示就写不出代码的人简直不能忍,于是赶紧去官网查了一下文档。原来vsc使用的是 TypeScript definition 文件为vsc提供基于JavaScript框架的智能提示以及在使用错误的API时的警告。
对于闭包,维基百科是这样解释的:
在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。
简单来说,就是函数可以使用函数之外定义的变量。
继承是面向对象语言的重要特性之一,但JavaScript的继承机制和其它的面向对象语言的继承不太一样,JS当中没有类这个概念,虽然class是个关键字,不能用作变量名。对于有其它OOP编程基础的人来说,在学习JS原型继承的时会候感觉非常奇怪。JS是用原型链作为实现继承的主要方法,类似于数据结构中的链表。
JS中的每个对象都有一个内部私有的链接指向另一个对象,这个对象就是原对象的原型。这个原型对象也有自己的原型,直到对象的原型为 null 为止(也就是没有原型)。这种一级一级的链结构就称为原型链。
在JavaScript中,变量的作用域分为全局作用域和局部作用域两种。
全局作用域
全局变量的作用域是当前文档中整个脚本区域,也就是在JS程序中的任何位置都可以使用这个变量。一般来说,以下几种情形拥有全局作用域:
对于这次任务不得不吐槽下题目的难度,即使任务的时间非常宽裕,但对于我这种初学者来说很多题目是完全不知道如何动手,只能不断的搜索相关的例子,来获得解决问题的思路,所以完成这次任务的时间比deadline多了好几天。但通过这次艰难的战斗,JS功力增长了几分,也掌握了一些页面效果的实现方法,这也算是这么多天的幸苦带来的回报吧。这次任务的成果:源码、在线预览,下面是关于这次任务的笔记。
前段时间报名参加百度前端技术学院的初级班,虽然没有被选上,但因为任务和资料都是公开的(赞一个),所以一直在跟着任务做。因为之前并没有前端基础,所以在做这些任务的时候可以说是困难重重吧,但还是能够在deadline之前将任务做完(虽然没有导师review~~)。这次任务主要是学习HTML&CSS布局,下面就是关于这次任务的笔记了。作业已放在GitHub上(源码,在线预览)。