我是新来的咕噜声和npm.所以我在网站' http://tech.pro/tutorial/1190/package-managers-an-introductory-guide-for-the-uninitiated-front-end-developer#front_end_developers ' 上尝试了一些"烹饪书示例" .你不应该现在看那里,但我认为分享网站可能会很好.到目前为止一直很好,直到全球安装.(好吧,我必须弄清楚一些错误,但现在我已经工作了npm).
当谈到尝试在全球范围内安装某些东西时,我会陷入困境.
我到目前为止测试全局安装一些包的方法:
创建了测试目录 grunttest
在该目录中:
npm install -g jshint
输出我可以看到:
npm http GET https://registry.npmjs.org/jshint
npm http 304 https://registry.npmjs.org/jshint
...
npm http 304 https://registry.npmjs.org/string_decoder
C:\Program Files\nodejs\node_modules\npm\jshint -> C:\Program Files\nodejs\node_modules\npm\node_modules\jshinnt
jshint@2.4.4 C:\Program Files\nodejs\node_modules\npm\node_modules\jshint
??? console-browserify@0.1.6
??? exit@0.1.2
??? underscore@1.4.4
??? shelljs@0.1.4
??? minimatch@0.2.14 (sigmund@1.0.0, lru-cache@2.5.0)
??? cli@0.4.5 (glob@3.2.9)
??? htmlparser2@3.3.0 (domelementtype@1.1.1, domutils@1.1.6, domhandler@2.1.0, readable-stream@1.0.26-2)
Run Code Online (Sandbox Code Playgroud)
我刚刚意识到304,应该没问题,因为刚才说上次安装后资源没有被修改(几分钟前).
检查jshint是否存在:
`npm -global list`
Run Code Online (Sandbox Code Playgroud)
输出:
npm@1.4.3 C:\Program Files\nodejs\node_modules\npm
??? abbrev@1.0.4
??? ansi@0.2.1
??...
???
??? graceful-fs@2.0.2
??? inherits@2.0.1
??? ini@1.1.0
??? init-package-json@0.0.14 …Run Code Online (Sandbox Code Playgroud) 希望有人找到时间来解释函数和范围中的函数.我试图更多地了解变量的函数和范围,并找到了一个相当不错的教程,但这部分我只是没有得到.
任务:
创建一个像这样工作的函数sum:sum(a)(b) = a+b并接受任意数量的括号.例子:
sum(1)(2) == 3
sum(5)(-1)(2) == 6
Run Code Online (Sandbox Code Playgroud)
解决方案:
function sum(a) {
var sum = a;
function f(b){
sum += b;
return f;
}
f.toString = function() { return sum };
return f; //line 12
}
alert( sum(1)(2) ); // 3e
Run Code Online (Sandbox Code Playgroud)
说明:
要使sum(1)可调用为sum(1)(2),它必须返回一个函数.该函数可以被调用或转换为数字valueOf.解决方案真的不言自明:
我的解释:
这f在function f(b)返回到范围,该范围是从管线02 - 12 f中f.toString,为当前返回f从function(b)
接下来return f返回到其是功能以外的范围sum(a).
问题:
我无法弄清楚,我需要以不同的方式思考,因为就像我上面所描述的那样,函数不会被再次调用,那么代码的哪一部分可以使"几个括号"成为可能?
而且,我是否正确地假设f …