NodeJS学习

本文深入探讨了Node.js在加载模块时的行为,包括如何在指定目录下寻找包定义文件和入口点,以及如何解析package.json文件来确定模块的入口点。此外,还介绍了exports的作用,包括设置模块的方法和类的访问器,以及类和方法的原型概念。最后,解释了EventEmitter的作用以及JavaScript中对象原型的表示方式。
摘要由CSDN通过智能技术生成

require

Node会假定这个目录是个模块包,并尝试在这个目录下搜索包定义文件package.json。
如果没找到,Node会假设包的入口点是index.js文件(译者注:除了index.js还会查找index.node,.node文件是Node的二进制扩展包,具体见官方文档),以上面代码为例,Node会尝试查找./myModuleDir/index.js文件。
反之,如果找到了package.json文件,Node会尝试解析它,并查找包定义里的main属性,然后把main属性的值当作入口点的相对路径。

exports.name=function(){} ; 这个代表为该module设定了名为name的方法。实际上呢,exports是把获取到的所有对象(方法,变量各种)赋值给Modules.exports,如果Modules.exports之前没有特定地指向某个对象,辣么,它就会直接代表加到exports上面的对象啦。如果提前有给Modules.exports指定对象过,那后期的exports是并不会生效的。

分号可以有可以木有啊,为神马这么不规范,额

类或者方法有get和set访问器,比如类class ABC{ get name(){ return ‘abc';}

prototype指JavaScript中对象的显示原型。在 JavaScript 原型继承结构里面,规范中用 [[Prototype]] 表示对象隐式的原型,在 JavaScript 中用 __proto__ 表示,并且在 Firefox 和 Chrome 浏览器中是可以访问得到这个属性的,但是 IE 下不行。所有 JavaScript 对象都有 __proto__ 属性,但只有 Object.prototype.__proto__ 为 null,前提是没有在 Firefox 或者 Chrome 下修改过这个属性。这个属性指向它的原型对象。 至于显示的原型,在 JavaScript 里用 prototype 属性表示

EventEmitter是nodejs核心的一部分。很多nodejs对象继承自EventEmitter,用来监听处理事件,及回调。emit用于发射事件(dispatch么?)

instanceof 运算符与 typeof 运算符相似,用于识别正在处理的对象的类型。与 typeof 方法不同的是,instanceof 方法要求开发者明确地确认对象为某特定类型。

function instance_of(L, R) {
//L 表示左表达式,R 表示右表达式
 var O = R.prototype;
// 取 R 的显示原型
 L = L.__proto__;
// 取 L 的隐式原型
 while (true) { 
   if (L === null) 
     return false; 
   if (O === L)
// 这里重点:当 O 严格等于 L 时,返回 true 
     return true; 
   L = L.__proto__; 
 } 
}
JavaScript中可能出现由一个文件名链接到某个目录的情况(需要在代码中处理)为什么要这样弄啊???

Symbol可以作为属性或方法,唯一且不可修改

js的函数调用会免费奉送两个参数就是 this 和 arguments 。arguments是参数组,它并不是一个真实的数组,但是可以使用.length方法获得长度。

var $name  是声明一个Jquery对象

一个js文件中,由多个[number:function],分开的是什么??不同功能函数块么??

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值