在Javascript中函数是一等公民,而回调函数则是Javascript语法体系中最重要的函数机制之一,回调函数的存在解决了Javascript中很多涉及到多线程、异步的问题。
CSS语法基础的一些速记。简要地介绍了CSS的语法和CSS的各种选择器。
在传统的基于Class的语言如Java、C++中,继承的本质是扩展一个已有的Class,并生成新的Subclass。 由于这类语言严格区分类和实例,继承实际上是类型的扩展。但是,Javascript由于采用原型继承,我们无法直接扩展一个Class,因为根本不存在Class这种类型。
Javascript对每个创建的对象都会设置一个原型,指向它的原型对象。而原型对象自己也是一个对象,所以也有自己的原型。通过这种方式,一个对象就拥有了一条原型链。原型链是有尽头的,Object.prototype就是原型链的尽头,它所指向的就是null。
我们知道Javascript的对象模型是基于原型实现的,特点是简单,缺点是理解起来比传统的类-类实例模型要困难,最大的缺点是继承的实现需要编写大量代码,并且需要正确实现原型链。有没有更简单的写法?有(ES6标准中引入)!
对于Javascript而言对象其实就是键值对集合,而Javascript中几乎任何东西都可以看作是一个对象,所以Javascript同样也可以实现面向对象编程。但是在Javascript中并不区分类和实例,没有所谓类和类实例的概念。Javascript通过原型(prototype)和原型链来实现传统面向对象编程中类与类实例之间的关系。
在创建node的工程的时候一般会出现package.json和package-lock.json两个文件,尤其是在安装第三方库的的时候一定会出现,这两个文件的文件名很相似,但是文件本身在功能上还是有一些区别和联系的。
这段时间在学习后端开发,以Node.js作为切入点。在学习过程中涉及到了服务端数据持久化,于是需要安装MongoDB。在Ubuntu 18.10上安装MongoDB的流程比较简单,但是在安装过程中可能会出现一些问题。特此,写下相关教程,帮助自己记忆的同时也为别人提供方便。
最近频繁使用虚拟机,自己的wins电脑上虚拟机基本没有关机过。不巧的是,碰上前几天停电,自己一直在外面没回来,导致虚拟机没有挂起或者关机,宿主机就已经电量不足关机了。结果,第二天再想打开虚拟机的时候就会报错:
Express中可以默认设置一些静态资源服务,这样方便统一资源定位符(url)做出比较简单的定位,既可以简化代码也可以精简url链中的信息内容。