我的函数运行正常但我希望它重复运行:
$('button').click( function(){
setInterval(magicWords(7,3), 1000);
});
Run Code Online (Sandbox Code Playgroud)
我尝试在函数本身中硬连接参数并运行参数 -但是它仍然是一个不行......?
我需要做以下任务.但是这总是仅警告"5"而不是1,2,3,4和5.我该如何解决这个问题?请帮忙.
for(var x=1; x<=5; x++){
something.load(function(result){
alert(x);
});
}
Run Code Online (Sandbox Code Playgroud) 我正在学习javascript闭包,并且很难理解这个概念.如果有人能够引导我完成这个例子,即输入和输出的进展,我会很感激.
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;
}
results;
Run Code Online (Sandbox Code Playgroud)
谢谢.
我正在尝试使用Timeout来暂停一个for循环,这将为一些元素设置动画.我想让一些按钮一个接一个地展开.
目前我有两个问题.第一个是方程(j)似乎有一个比它应该更大的元素索引1.另一个是它跳到最后一个动画.
for (j = 0; j<=numberOfButtons; j++){
setTimeout(function() {
$buttons.eq(j).animate({
height: buttonBig,
width: buttonBig
},150, 'linear');
}, 3000 * (j + 1));
}
Run Code Online (Sandbox Code Playgroud)
这是我第一次使用stackoverflow,所以如果我正确地发布这个问题,请告诉我.
感谢您的帮助.
我是JavaScript(和编码)的新手,我正在通过Head First JavaScript这本书进行学习.从阅读开始,我认为匿名函数可能是一个参数,因为函数是值,但我想我可能有这个错误.
根据我的想法,下面的代码应该输出7.相反,它输出,function () { return (m * n); }1我用字符串做了类似的事情,并且根据我的推测,它们也没有按预期处理.
请告诉我,在我对匿名函数的理解,javascript中匿名函数的使用限制以及我们为什么要使用匿名函数时,我的错误在哪里.非常感谢.
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p id="demo"></p>
<script>
function addIt(x, y) {
return (x + y);
}
var m = 2;
var n = 3;
var total = addIt(function() { return (m * n); }, 1);
document.getElementById("demo").innerHTML = total;
</script>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
在我们的代码库中,我们有两个,我不明白何时使用哪个......
在情况下<input type="hidden" id="someFlag" />,我们写/以下列方式读取值$("#someFlag").val('1');和 $("#someFlag").val() == '1'
为什么不简单地将全局变量添加到JavaScript文件中?
var someFlag2;
...
someFlag2 = '1';
someFlag2 == '1'
Run Code Online (Sandbox Code Playgroud)
这些方法之间是否存在一些差异?
我正在尝试在函数中为自己分配一个变量,如果变量与函数的参数同名,它似乎不起作用,但如果它们不是同一个名称.代码示例更清楚地显示了这一点.
我应该期待这种行为吗?这是我的d3用例的一个简化示例,它提示了这个问题.我也在下面展示过.
非工作的例子
var a;
function assign(a) {
a = a;
}
assign("test")
console.log(a)
Run Code Online (Sandbox Code Playgroud)
未定义
工作实例
var a;
function assign(b) {
a = b;
}
assign("test")
console.log(a)
Run Code Online (Sandbox Code Playgroud)
测试
用例
var data
d3.csv("data.csv", function(error, data) {
//Doesn't work for me
data = data
}
console.log(data)
Run Code Online (Sandbox Code Playgroud)
未定义
我正在阅读弗里斯比教授的大部分功能编程指南,我遇到了如下所示的代码示例.我不明白为什么每次调用squareNumber时缓存都不会重置为{}.
var memoize = function(f){
var cache = {}; // why is this not reset each time squareNumber is called?
return function() {
var arg_str = JSON.stringify(arguments);
cache[arg_str] = cache[arg_str]|| f.apply(f, arguments);
return cache[arg_str];
};
}
var squareNumber = memoize(function(x){ return x*x; });
squareNumber(4);
//=> 16
squareNumber(4); // returns cache for input 4
//=> 16
squareNumber(5);
//=> 25
squareNumber(5); // returns cache for input 5
//=> 25
Run Code Online (Sandbox Code Playgroud)
我的一个理论是,由于memoize是一个全局变量,因此每次调用缓存变量时都不会重置缓存变量.但我似乎无法找到一个好的解决方案.
有一些关于JS中的对象,执行上下文,我不明白.
当我们创建一个对象时,它是否创建了一个执行上下文?因为在调用函数时会创建执行上下文.如果没有,那么对象就像实际执行上下文中的其他变量一样?
谢谢.
我一直在努力学习关闭,但有一件事仍困扰着我.如果我有以下代码:
var add = (function () {
var counter = 0;
return function () {return counter += 1;}
})();
add();
add();
add();
// Returns "3"
Run Code Online (Sandbox Code Playgroud)
如果我调用add()三次,为什么不每次都将counter设置为零,然后返回一个递增计数器的匿名函数?一旦自动调用函数运行,它是否会跳过它?对不起,如果问题看起来很简单,我很难理解它.任何帮助将不胜感激.
javascript ×10
jquery ×4
closures ×3
function ×2
scope ×2
anonymous ×1
cordova ×1
for-loop ×1
hoisting ×1
html ×1
object ×1
setinterval ×1
settimeout ×1
shadow ×1