ECMAScript 5 对象修改保护功能
在JavaScript里,默认情况下,你可修改作何你可以访问到的对象。你可以自由的删除对象的属性或覆盖对象的方法,这在多人协作开发的项目中,会造成很大问题,因为你不知道你的修改会对别人造成什么样的影响。如果你是一个模块或代码库的作者,你可能想锁定一些核心库的某些部分,保证任何人不能有意或无意的修改它们。ECMAScript 5引入了几个方法来防止对对象的修改。
阅读全文在JavaScript里,默认情况下,你可修改作何你可以访问到的对象。你可以自由的删除对象的属性或覆盖对象的方法,这在多人协作开发的项目中,会造成很大问题,因为你不知道你的修改会对别人造成什么样的影响。如果你是一个模块或代码库的作者,你可能想锁定一些核心库的某些部分,保证任何人不能有意或无意的修改它们。ECMAScript 5引入了几个方法来防止对对象的修改。
阅读全文JavaScript是一种基于对象的语言,与传统面向对象语言(C#、C++)相比,JavaScript中没有类的概念,其继承有两种基本形式:基于对象的继承和基于类型的继承(原型链继承)。无论哪种形式的继承,都是基于一个已经存在的对象创建一个新对象。
阅读全文JavaScript没有传统面向对象语言的类继承机制,而是基于原型链继承实现的,其本质是使用函数模拟类的特征。我们可以通过prototype
将属性写到原型链上,调用new
操作符创建对象(实例化)时,对象实例会把类原型链上的属性关联到自身的__proto__
属性上;而子类继承父类时,是将子类的prototype
属性指向父类的prototype
属性,并在子类prototype
属性添加自己的方法和属性实现对父类的扩展。
Node.js的模块分为两类,一类为核心模块(原生模块),一类为第三方模块(文件模块)。在Node中,即可以通过文件路径也可用名称来引用模块,通过名称引用的模块最终会被映报为一个文件路径(除核心模块外)。核心模块优先级高于文件模块,require相同名称的核心模块和文件模块,被加载到的只能是核心模块。
阅读全文NPM,Node包管理器(Node Package Manager)功能包括:第三方包库、管理计算机中安装的包的机制及定义包依赖关系。提供了公共注册服务,程序员发布的包都被放在了NPM中,NPM提供了一个命令行工具用来下载、安装、管理这些包。你可以按NPM标准的包描述符来指定自己的模块或应该需要依赖的第三方包。
阅读全文javascript 最初是被设计为处理html文档的,因此并不善于处理二进制数据。但在后端开发中离不开对二进制数据的处理,为此Node提供了Buffer类,该类封装了对访问连续内存块的操作,可以处理内存中的数据及创建、切分缓冲区,还可以在两个缓冲区之间复制内存数据。
阅读全文JavaScript的数据类型分为两类:原始类型(Primitive type)、引用类型(Reference type),二者在内存中的存储位置不同。判断一个变量属于哪种类型,这两类数据类型的判断方式也有所有不同,分别使用typeof
和instanceof
进行检测。