我正在阅读John Resig的优秀高级JavaScript教程,我不完全理解以下调用之间的区别:(请注意'参数'是内置的javascript单词,并不完全是一个数组,因此使用Array.slice进行黑客攻击而不是简单地调用arguments.slice)
>>> arguments
[3, 1, 2, 3]
>>> Array.slice.call( arguments )
3,1,2,3 0=3 1=1 2=2 3=3
>>> Array.slice.call( arguments, 1 )
[]
>>> Array().slice.call( arguments )
3,1,2,3 0=3 1=1 2=2 3=3
>>> Array().slice.call( arguments, 1 )
1,2,3 0=1 1=2 2=3
Run Code Online (Sandbox Code Playgroud)
基本上我的误解归结为Array.slice和Array().slice之间的区别.这两者之间究竟有什么区别以及为什么Array.slice.call没有按预期运行?(它返回除了参数列表的第一个元素之外的所有元素).
由于它不再存在于存储库中,我无法做到
git log <filename>
Run Code Online (Sandbox Code Playgroud)
我可以跑
git log --diff-filter='D|R' <directory_that_contained_it>
Run Code Online (Sandbox Code Playgroud)
但这是太多的信息和grepping它似乎没有列出我正在寻找的文件.
我使用Charles代理(在OS X 10.9.3,Mavericks下)修改Origin标头,以便我连接到的API(正在开发中)接受来自开发环境的传入请求。
我设法用一个简单的重写规则来使它起作用,直到今天一切都起作用了。
当前的问题是浏览器无法连接到代理(由Charles设置)。请求中的“失败”字段显示:“未请求。可能是SSL证书被拒绝。”以及下面在“注释”字段中:“您可能需要配置浏览器以信任Charles CA SSL证书。” 。
我已经做到了,并且效果很好。从那以后,我没有更改Charles的配置。我试图使其工作的事情:
我还确保无论默认设置如何,始终信任Charles证书:
不知道这是否是解决方案的线索,但是当我在打开Charles的情况下直接导航到api时,会看到以下信息:

该API确实托管在Windows Azure平台上,但是我不知道为什么将Charles证书(因为Charles充当中间人,向浏览器显示其证书)是通过* .azurewebsites.com确定的而不是实际的主机。
重要的是要注意,实际的主机(例如api.example.com)对于* .example.com具有有效的,已购买的通配符证书。
如果有人对如何解决此问题或确切发生的事情有所提示,我将非常感谢她的建议。
谢谢。
ps。如果我调整直接请求以拥有适当的Origin标头(修改/清除了明智的信息):
GET / xxx HTTP / 1.1
主机:api.example.com
连接:keep-alive
缓存控制:max-age = 0
接受:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp ,/ ; q = 0.8
User-Agent:Mozilla / 5.0(Macintosh; Intel Mac OS X 10_9_3)AppleWebKit / 537.36(KHTML,Gecko一样)Chrome / 35.0.1916.114 Safari / 537.36
Accept-Encoding:gzip,deflate,sdch
Accept-语言:en-US,en; q = 0.8,hu; q = …
我有以下Clojure代码来计算具有某种"可以考虑"属性的数字.(代码究竟做了什么是次要的).
(defn factor-9
([]
(let [digits (take 9 (iterate #(inc %) 1))
nums (map (fn [x] ,(Integer. (apply str x))) (permutations digits))]
(some (fn [x] (and (factor-9 x) x)) nums)))
([n]
(or
(= 1 (count (str n)))
(and (divisible-by-length n) (factor-9 (quot n 10))))))
Run Code Online (Sandbox Code Playgroud)
现在,我进入TCO并意识到如果使用recur关键字明确告知Clojure只能提供尾递归.所以我重写了代码来做到这一点(用recur代替因子9是唯一的区别):
(defn factor-9
([]
(let [digits (take 9 (iterate #(inc %) 1))
nums (map (fn [x] ,(Integer. (apply str x))) (permutations digits))]
(some (fn [x] (and (factor-9 x) x)) nums)))
([n]
(or
(= 1 …Run Code Online (Sandbox Code Playgroud)