相关疑难解决方法(0)

36
推荐指数
4
解决办法
7790
查看次数

可变吊装

alert(myVar1);
return false;
var myVar1;
Run Code Online (Sandbox Code Playgroud)

上面的代码在IE,FF和Opera中引发错误,说明return语句必须进入函数.但它undefined在Safari和Chrome中有效(显示).

上面的代码已经在全球范围内编写.在所有功能之外.

任何原因?

javascript hoisting

33
推荐指数
3
解决办法
1万
查看次数

在JavaScript中被闭包困惑

可能重复:
JavaScript闭包如何工作?
Javascript闭包和简单英语的副作用?(分别)

我是JavaScript的新手,但我对闭包的工作原理感到困惑.有人可以用非专业人的术语解释它们是什么或为什么它们有用吗?

javascript closures

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

解释以下JavaScript声明?

var ninja = (function(){
    function Ninja(){};
    return new Ninja();
})();
Run Code Online (Sandbox Code Playgroud)

为什么上面的函数封装在括号中,为什么();最后有?

我认为这是一个构造函数,因为();最后,但为什么对象包含在括号中?

javascript

28
推荐指数
2
解决办法
1279
查看次数

JavaScript关闭在哪里?

我写了这段代码来自学JavaScript关闭:

function1 = function(){
  var variable = "foo"
  var function2 = function(argument){
    console.log(variable + argument);
  }
  return function2
}

function3 = function1();
function3("bar");
Run Code Online (Sandbox Code Playgroud)

按预期打印"foobar".但变量在哪里生活?

它是否成为function3的属性,还是存储在function3中的其他位置?JavaScript是否遍历某种闭包链,类似于它如何遍历原型链?它存储在其他地方的内存中吗?

我想更深入地了解这一点.

javascript closures

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

请解释这个Javascript关闭练习

我是一个javascript noob试图围绕下面的关闭练习.

现在,我知道结果是122.任何人都可以一步一步地指导我(传递给什么),所以我能理解闭包是如何工作的?

var hidden = mystery(3);
var jumble = mystery3(hidden);
var result = jumble(2);

function mystery ( input ){
  var secret = 4;
  input+=2;
  function mystery2 ( multiplier ) { 
    multiplier *= input;
    return secret * multiplier;
  }
  return mystery2;
}
function mystery3 ( param ){
  function mystery4 ( bonus ){
    return param(6) + bonus;
  }
  return mystery4;
}
Run Code Online (Sandbox Code Playgroud)

javascript closures

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

Javascript闭包和简单英语的副作用?(分别)

我一直在阅读一些JavaScript书籍,我总是听说关闭和副作用.出于某种原因,我无法理解他们到底是什么.任何人都可以用简单的英语和例子向我解释它们是什么吗?(正如你向具有图形设计师编程水平的人解释的那样).

javascript closures side-effects

24
推荐指数
3
解决办法
2万
查看次数

这个值在JavaScript匿名函数中

任何人都可以向我解释为什么A是真的并且B是假的?我本以为B也是如此.

function MyObject() {

};

MyObject.prototype.test = function () {
    console.log("A", this instanceof MyObject);
    (function () {
        console.log("B", this instanceof MyObject);
    }());
}

new MyObject().test();
Run Code Online (Sandbox Code Playgroud)

javascript this anonymous-function

24
推荐指数
3
解决办法
2万
查看次数

setTimeout在forEach中没有工作

我有一个调用函数的forEach.每次调用之间都需要有延迟.我把它放在forEach里面的setTimeout里面.第一次等待后不遵守超时.相反,它等待一次,然后立即运行.我将超时设置为5秒,我正在使用控制台进行确认.5秒等待,然后几个foobar控制台同时记录.

为什么我会出现这种行为?

var index = 0;
json.objects.forEach(function(obj) {
    setTimeout(function(){
        console.log('foobar');
        self.insertDesignJsonObject(obj, index);
    }, 5000);
});
Run Code Online (Sandbox Code Playgroud)

javascript foreach function settimeout

24
推荐指数
2
解决办法
2万
查看次数

在Redux中,状态实际存储在哪里?

我对这个问题进行了一些搜索,但发现了很模糊的答案.在redux中,我们知道状态存储为对象.但这个状态实际存储在哪里?它是以某种方式保存为以后可以访问的文件吗?我所知道的是它不会以cookie格式或浏览器的本地存储中存储它.

javascript reactjs redux

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