我正在从Eloquent JavaScript这本书开始练习(参见链接页面底部的'列表').基本上,我想创建一个带有数组的对象,并将其转换为具有以下结构的列表:
var list = {
value: 1,
rest: {
value: 2,
rest: {
value: 3,
rest: null
}
}
};
Run Code Online (Sandbox Code Playgroud)
当我在控制台中运行下面的代码时,我得到了TypeError: Cannot read property 'length' of undefined (line 3 in function arrayToList).为什么我调用的数组.length没有定义?
function arrayToList(array){
var list = {};
if(!array.length){
list.value = null;
}
else{
list.value = array.shift();
list.rest = arrayToList();
}
return list;
}
console.log(arrayToList([10, 20]));
Run Code Online (Sandbox Code Playgroud)
注意: Stack Overflow问题JavaScript中的列表数据结构是关于同一问题的非常相似的帖子.我不是在寻找解决方案,而是在递归调用中解释什么是乱七八糟的.
当我尝试使用提示或警报来获取webstorm中的用户输入时,我收到一个错误:
Run Code Online (Sandbox Code Playgroud)answers[i] = prompt(allQuestions[i].question) ^ReferenceError:未定义提示
据我所知,提示和警报是javascript中的好功能.可能是因为我在控制台中运行代码?如果是这样,如何将变量设置为用户输入的字符串(即提示功能)?如果没有,出了什么问题,如何解决?
在以下来自Eloquent Javascript的第5章的代码中,参数n的值来自何处?
为什么这个函数返回任何东西.我想,我讨厌问一个非特定的,陈词滥调的问题,但我感到困惑:这个功能如何运作?
function unless(test, then) {
if (!test) then();
}
function repeat(times, body) {
for (var i = 0; i < times; i++) body(i);
}
repeat(3, function(n) {
unless(n % 2, function() {
console.log(n, "is even");
});
});
// ? 0 is even
// ? 2 is evenRun Code Online (Sandbox Code Playgroud)
运行以下代码时,输出中没有显示日期.我似乎无法弄清楚为什么约会不会出现......
<!DOCTYPE html>
<html>
<head>
<title>document.write() Example</title>
</head>
<body>
<p>The current date and time is:
<script type=”text/javascript”>
document.write(“<strong>” + (new Date()).toString() + “</strong>”);
</script>
</p>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
我正在阅读有关为 git 设置 SSH的bitbucket 教程。在下图中,对于 git 用户,我停留在步骤 7.2:“使用您最喜欢的编辑器编辑 ~/repos/bb101repo-pratice/.git/config 文件。”
问题是我不知道如何访问该文件并在编辑器中打开它。我试过在我的终端中输入“cd ~/repos/bb101repo-prtice/.git/config”,但终端说该文件不存在。我也尝试过使用 spotlite 和 finder,但无济于事。
我如何访问该文件,然后在访问后如何使用编辑器对其进行编辑?
我“最喜欢的编辑器”是 sublime text 3,我在 macbook 上运行 mackericks。
有趣的小泡菜:
我正在使用JSbin来练习将单引号转换为双引号.JSbin控制台中的读数让我莫名其妙地给了我"\".然后当我尝试在chrome控制台中运行相同的代码时,交换机工作正常.(是的,我知道它改变了'"我是" - 虽然这不是手头的问题.)
知道为什么jsbin可能在控制台输出中给了我那些反斜杠吗?
