小编duk*_*god的帖子

为什么结果不同(使用var vs. let)?

这用 var

var a = [];
for (var i = 0; i < 10; i++) {
    a[i] = function() {
        console.log(i);
    };
}
a[6](); // 10
Run Code Online (Sandbox Code Playgroud)

这用 let

var a = [];
for (let i = 0; i < 10; i++) {
    a[i] = function() {
        console.log(i);
    };
}
a[6](); // 6
Run Code Online (Sandbox Code Playgroud)

我不明白为什么结果不同.有人可以指导我吗?

javascript arrays closures ecmascript-6

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

javascript中"alert(a)"和"alert(a); var a = 1;''之间的区别?

<script type="text/javascript">
    alert(a);
</script>
Run Code Online (Sandbox Code Playgroud)

控制台日志显示:"未捕获的ReferenceError:a未定义";

<script type="text/javascript">
    alert(a);
    var a = 1;
</script>
Run Code Online (Sandbox Code Playgroud)

在浏览的中间,日志显示:"undefined"

这段代码是如何在js中运行的,以及导致这种差异的原因

html javascript

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

具有instanceof的检测数据类型

检测类型

我们可以使用以下方法:

  • typeof
  • instanceof
  • object.prototype.toString
  • constructor

他们之间有什么大不同?

为什么你不能使用'instanceof'来检测不同的窗口或iframe

javascript

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

Object.assign() 和'=assign' 之间有什么区别来实现数组或对象中的浅拷贝?

在下面的代码中实现对象中的浅拷贝,但不同的输出让我感到困惑:

对象.赋值:

var obj = {
  name: 'wsscat',
  age: 0,
  add: {
    a: 'beijing'
  }
}
var obj2 = Object.assign({}, obj);
obj2.age = 18;
obj2.add.a = 'shanghai';
console.log(obj)
console.log(obj2)
Run Code Online (Sandbox Code Playgroud)

输出:

{ name: 'wsscat', age: 0, add: { a: 'shanghai' } }
{ name: 'wsscat', age: 18, add: { a: 'shanghai' } }
Run Code Online (Sandbox Code Playgroud)

while use = "assign"实现浅拷贝:

var obj = {
  name: 'wsscat',
  age: 0,
  add: {
    a: 'beijing'
  }
}
// var obj2 = Object.assign({}, obj);
var obj2 = …
Run Code Online (Sandbox Code Playgroud)

javascript

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

nodejs npm throw错误

我只想按包安装节点5.0.0.节点可以使用,但是npm不能使用.

我不知道如何解决它.

Error: Cannot find module './lib'
at Function.Module._resolveFilename (module.js:337:15)
at Function.Module._load (module.js:287:25)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/node_modules/hawk/index.js:1:80)
at Module._compile (module.js:425:26)
at Object.Module._extensions..js (module.js:432:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

我列出错误日志

npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm"
npm ERR! node v5.0.0
npm ERR! npm  v3.3.6
npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module './lib'
npm ERR!
npm ERR! If you need help, you may report …
Run Code Online (Sandbox Code Playgroud)

node.js npm

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

通过JavaScript从json获取所有键值

var json={
  name: 'john',
  age: '80',
  child: [
    {
      name: 'sindy',
      age: '60',
      child: [
        {
          name: 'bob',
          age: '40',
          child: [
            {
              name: 'sany',
              age: '20'
            }
          ]
        }
      ]
    },
    {
      name: 'susan',
      age: '70'
    }
  ]
}  
Run Code Online (Sandbox Code Playgroud)

我想得到所有名称的值,然后将它们放在一个数组中.喜欢:

['john','sindy','bob','sany','susan']
Run Code Online (Sandbox Code Playgroud)

首先,我应该知道深浅的副本吗?

javascript json

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

标签 统计

javascript ×5

arrays ×1

closures ×1

ecmascript-6 ×1

html ×1

json ×1

node.js ×1

npm ×1