为了账号安全,请及时绑定邮箱和手机立即绑定

输出4行结果

https://img1.sycdn.imooc.com//5b6c0cc900016f1509730444.jpghttps://img1.sycdn.imooc.com//5b6c0cf90001e23310800161.jpg

https://img1.sycdn.imooc.com//5b6c0d1a00013ba907280144.jpg

如图 为什么不把teacher.add('xxx')删除,命令行中就会输出四行结果? 在index.js中不是仅仅调用了klass.add方法吗?为什么teacher.add方法也被调用了一次?

正在回答

1 回答

正常来说一个js文件会 先 解析 后 执行

既然要加载一个文件的模块,那肯定要把那个文件从头到尾解析一遍,解析的时候遇到 teacher.add('xxx') ,执行是按照解析来执行的,所以 teacher.add('xxx') 会被执行。


在index.js文件中导入klass.js文件中的add方法能执行,证明

klass.js中:exports.add=add ;这句被执行了

在klass.js文件中导入teacher.js文件和student.js文件中的add方法能执行,证明

var student=require('./student.js');

var teacher=require('./teacher.js'); 这两句话被执行了


假如有个example.js文件,内容如下:

第1句代码

第2句代码

第3句代码

第4句代码

第5句代码

其中第1、2句执行了,第5句执行了,就算计算机自己工作累了,也不至于跳过第3、4句不执行吧?


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(一)
  • 参与学习       219315    人
  • 解答问题       982    个

本视频教程带你揭开Node.js的面纱,带你走进一个全新世界

进入课程

输出4行结果

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号