- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
好吧,我被难住了,主要是我对javascript的使用还不够。我知道这是一个数组指针问题(我必须在函数中复制数组......),但不确定如何解决它。麻烦你解释一下为什么我的 Javascript 版本不行而 Python 版本可以?它应该反转数组(我知道有一个内置数组),但我的问题是:Javascript 中的数组与 Python 中的数组处理方式有何不同?
Javascript (does not work):
function reverseit(x) {
if (x.length == 0) { return ""};
found = x.pop();
found2 = reverseit(x);
return found + " " + found2 ;
};
var out = reverseit(["the", "big", "dog"]);
// out == "the the the"
==========================
Python (works):
def reverseit(x):
if x == []:
return ""
found = x.pop()
found2 = reverseit(x)
return found + " " + found2
out = reverseit(["the", "big", "dog"]);
// out == "dog big the"
最佳答案
应该是……
var found = x.pop();
var found2 = reverseit(x);
如果不对这些变量进行本地化,您会将它们声明为全局变量 - 并在每次调用 reverseit
时重写它们的值。顺便说一句,如果开发者的浏览器支持(我认为应该支持),则可以使用 'use strict';
指令 ( MDN ) 来防止这些错误。
显然该代码在 Python 中有效,因为 found
和 found2
是本地的。
但看看 JS 生活的光明面:您可以像这样编写该函数:
function reverseit(x) {
return x.length
? x.pop() + " " + reverseit(x)
: "";
};
console.log(reverseit(['the', 'big', 'dog']));
...根本没有声明任何局部变量。
关于Javascript之谜: variables in functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224148/
我一直在使用高精度时间在控制台中记录我的程序事件。但很快我就注意到程序有时会显示四舍五入到毫秒的时间,有时则不会!它完全偶尔发生,它是相同的代码,未重新编译,未在运行之间编辑: using Syste
首先:该代码被认为是纯粹的乐趣,请在生产中不要做任何类似的事情。在任何环境下编译并执行这段代码后,对于您,您的公司或您的驯鹿造成的任何伤害,我们概不负责。以下代码不安全,不可移植,并且非常危险。被警告
我正在投影图像,然后检查它: 高度是20px。这是正确的。 然后我检查包含 img 的 data-radium 元素,令我惊讶的是: 尽管没有内容,该元素的高度“增长”了两个像素。此外,data-ra
我是一名优秀的程序员,十分优秀!