1.NodeJS中的this为什么是一个空对象?

因为所有的NodeJS文件在执行的时候都会被包裹到一个函数中, this都被修改为了空的module.exports

(function (exports, require, module, __filename, __dirname) {

// 我们编写的代码

// 所以说在这里面拿到的this就是 空的module.exports

});

compiledWrapper.call(module.exports, args);


2.NodeJS中为什么可以直接使用exports, require, module, __filename, __dirname

因为所有的NodeJS文件在执行的时候都会被包裹到一个函数中, 这些属性都被通过参数的形式传递过来了

var args = [module.exports, require, module, filename, dirname];

compiledWrapper.call(this.exports, args);


3.NodeJS中为什么不能直接exports赋值, 而可以给module.exports赋值

(function (exports, require, module, __filename, __dirname) {

exports = "lnj";

});

jsScript.call(module.exports, module.exports);

return module.exports;

相当于

let exports = module.exports;

exports = "lnj";

return module.exports;

如果给exports直接赋值就是直接修改了其指向;如果没有直接给exports赋值就是修改了其指向的内容


4.通过require导入包时候应该使用var/let还是const?

导入包的目的是使用包而不是修改包, 所以导入包时使用const接收

nodejs--常见面试题相关推荐

  1. 前端常见面试题及答案

    文章转自http://www.cnblogs.com/syfwhu/p/4434132.html 前言 本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典.很有代表性. ...

  2. Node.js常见面试题

    Node.js常见面试题 1.NodeJS中的this为什么是一个空对象? 2.NodeJS中为什么可以直接使用exports.require.module.__filename.__dirname? ...

  3. 【javascript常见面试题】常见前端面试题及答案

    转自:http://www.cnblogs.com/syfwhu/p/4434132.html 前言 本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典.很有代表性.上 ...

  4. mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题

    1.limit(选出10 到20 条) select * from students order by id limit 9,10; 2.MySQL 会使用索引的操作符号 =,>,=,betwe ...

  5. java类型转换面试题_JavaSE:数据类型之间的转换(附常见面试题)

    数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...

  6. Spring常见面试题及答案汇总1000道(春招+秋招+社招)

    Spring面试题以及答案整理[最新版]Spring高级面试题大全(2021版),发现网上很多Spring面试题都没有答案,所以花了很长时间搜集,本套Spring面试题大全,汇总了大量经典的Sprin ...

  7. Java多线程常见面试题及答案汇总1000道(春招+秋招+社招)

    Java多线程面试题以及答案整理[最新版]Java多线程高级面试题大全(2021版),发现网上很多Java多线程面试题都没有答案,所以花了很长时间搜集,本套Java多线程面试题大全,汇总了大量经典的J ...

  8. MySQL常见面试题及答案汇总1000道(春招+秋招+社招)

    MySQL面试题以及答案整理[最新版]MySQL高级面试题大全(2021版),发现网上很多MySQL面试题都没有答案,所以花了很长时间搜集,本套MySQL面试题大全,汇总了大量经典的MySQL程序员面 ...

  9. Jvm常见面试题及答案汇总1000道(春招+秋招+社招)

    Jvm面试题以及答案整理[最新版]Jvm高级面试题大全(2021版),发现网上很多Jvm面试题都没有答案,所以花了很长时间搜集,本套Jvm面试题大全,汇总了大量经典的Jvm程序员面试题以及答案,包含J ...

  10. Dubbo常见面试题及答案汇总1000道(春招+秋招+社招)

    Dubbo面试题以及答案整理[最新版]Dubbo高级面试题大全(2021版),发现网上很多Dubbo面试题都没有答案,所以花了很长时间搜集,本套Dubbo面试题大全,汇总了大量经典的Dubbo程序员面 ...

最新文章

  1. Spring Boot thymeleaf模版支持,css,js等静态文件添加
  2. intellij idea 1314 插件推荐及快速上手建议 (已更新!)
  3. android mp4流格式,将RTSP流保存到android中的mp4文件
  4. python orm peewee
  5. docker always_介绍两款Docker可视化工具
  6. 技术分享:NodeJS中的Events(事件触发器)讲解
  7. 75. CPU 100%运行实战案例分析
  8. 新手求大神,有其他swit-case的思路写这个程序么?
  9. FPGA(2)--例化语句--1位全加器
  10. 批量生成变量及引用_R语言:data.table语句批量生成变量
  11. mysql 5.6.14源码安装_CentOS 6.4下编译安装MySQL 5.6.14详细步骤
  12. python调用其他类中的方法_无法调用其他类中的方法
  13. 分页总页数计算方法 所有分页通用
  14. 装机防骗武器——鲁大师
  15. python基础2-数据及字符串知识学习
  16. android 找不到类文件,Android库:当“实现项目”用于库的模块依赖时,找不到类文件...
  17. c语言中if内函数值为零,C语言——if(0)之后的语句真的不会执行吗?
  18. 研发/项目计划管理表格
  19. 横向合计代码 锐浪报表_锐浪报表合并明细网络
  20. 火车采集器如何采集ajax数据和百度站内搜索数据

热门文章

  1. CSS的颜色设置和字体设置
  2. 【JY】No.6力学架构软件与书籍推荐
  3. 登录后网页无法连接服务器失败怎么办啊,网页登录服务器失败
  4. 2018年,新手前端是否真的很难找工作?
  5. Unity多人游戏和网络功能(二) 使用网络管理类
  6. 鼠标移入下拉菜单相关问题?
  7. 快速排序的两种实现 -- 种轴partition : 比值partition(更精巧)
  8. 12123查询违章显示服务器异常,交管12123服务器异常是怎么回事
  9. windows系统bat批处理 笔记本开wifi 笔记本查看wifi密码
  10. centos rpm不小心被卸载了怎么办?