比如我菜鸟写成这样:
var exec = require(‘child_process’).exec; var sprintf = require(‘sprintf-js’).sprintf; var http = require(‘http’); var https = require(‘https’); var url = require(‘url’); var fs = require(‘fs’);
然后就发现 全局变量太多了,尤其是 url 这样的,很容易在后续的代码里 定义一个变量 var url = ‘http://www.baidu.com’ ; 然后代码就蹦掉了,我还查了半天才知道问题出在哪里。 当然,所有node的教程都是这么叫大家写这样随意的代码的,这样的代码肯定无法做大规模的工程吧?
可是一些系统的暴露的全局变量比如 process,比如 console 这样,为什么不用一个统一的全局变量比如 NODE.process, NODE.console ? 请教一下高手们优美的代码都是怎么样的?
楼主的代码挺优美的
用IDE吧,会提示重复定义
可以多看看GitHub上的代码 恩
不用 global 的话,node 里哪有全局变量?var 出来的都是模块内的局部变量。
很少一个module会依赖这么多组件.
@afc163 哈哈,简单明了
高手不都是
var a =xxx var b =xxx …… var af =xxx …… var zzz =xxx (第26x26x26个函数)
(:з」∠) 我就是来卖个萌
关于process,是抽象汇编解释器的线程。底层是C? (function(process){ var global = this; …… })() 这个是NODE的启动。
var _g={}; _g.exec =… _g.sprintf =… _g.url =…
…
或者命名上区分下就是了 var globalExec =… var globalSprintf =… var globalUrl =…
sublime 装个 jshint 可以避免不少低级错误
var $url
@MiguelValentine 抽象汇编解释器是什么鬼……