小编Goo*_*ord的帖子

当我调用.length时,为什么这个数组是不确定的?

我正在从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中的列表数据结构是关于同一问题的非常相似的帖子.我不是在寻找解决方案,而是在递归调用中解释什么是乱七八糟的.

javascript arrays recursion

10
推荐指数
1
解决办法
1684
查看次数

如何在webstorm中使用"提示"和"警告"javascript命令?

当我尝试使用提示或警报来获取webstorm中的用户输入时,我收到一个错误:

   answers[i] = prompt(allQuestions[i].question)
                ^
Run Code Online (Sandbox Code Playgroud)

ReferenceError:未定义提示

据我所知,提示和警报是javascript中的好功能.可能是因为我在控制台中运行代码?如果是这样,如何将变量设置为用户输入的字符串(即提示功能)?如果没有,出了什么问题,如何解决?

javascript webstorm

5
推荐指数
1
解决办法
3465
查看次数

在这个更高级别的函数中,参数n来自何处?

在以下来自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 even
Run Code Online (Sandbox Code Playgroud)

javascript higher-order-functions

2
推荐指数
1
解决办法
248
查看次数

使用内联javascript添加当前日期

运行以下代码时,输​​出中没有显示日期.我似乎无法弄清楚为什么约会不会出现......

<!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)

javascript date

2
推荐指数
1
解决办法
4194
查看次数

如何使用文本编辑器编辑 ~/.git/config 文件?

我正在阅读有关为 git 设置 SSH的bitbucket 教程。在下图中,对于 git 用户,我停留在步骤 7.2:“使用您最喜欢的编辑器编辑 ~/repos/bb101repo-pratice/.git/config 文件。”

问题是我不知道如何访问该文件并在编辑器中打开它。我试过在我的终端中输入“cd ~/repos/bb101repo-prtice/.git/config”,但终端说该文件不存在。我也尝试过使用 spotlite 和 finder,但无济于事。

我如何访问该文件,然后在访问后如何使用编辑器对其进行编辑?

我“最喜欢的编辑器”是 sublime text 3,我在 macbook 上运行 mackericks。

git ssh

2
推荐指数
1
解决办法
9354
查看次数

正则表达式在chrome控制台和JSBin中提供控制台输出

有趣的小泡菜:

我正在使用JSbin来练习将单引号转换为双引号.JSbin控制台中的读数让我莫名其妙地给了我"\".然后当我尝试在chrome控制台中运行相同的代码时,交换机工作正常.(是的,我知道它改变了'"我是" - 虽然这不是手头的问题.)

知道为什么jsbin可能在控制台输出中给了我那些反斜杠吗?

Jsbin屏幕截图

javascript regex jsbin

1
推荐指数
1
解决办法
362
查看次数