我最近开始维护其他人的JavaScript代码.我正在修复错误,添加功能,并尝试整理代码并使其更加一致.
以前的开发人员使用两种声明函数的方法,如果背后有原因,我就无法解决.
这两种方式是:
var functionOne = function() {
// Some code
};
Run Code Online (Sandbox Code Playgroud)
function functionTwo() {
// Some code
}
Run Code Online (Sandbox Code Playgroud)
使用这两种不同方法的原因是什么?每种方法的优缺点是什么?有一种方法可以通过一种方法完成,而另一种方法无法完成吗?
下面的代码适用于实时网站,但我不能让它在网站jsfiddle上运行.
例如,见这个.
任何人都可以告诉我为什么它不适用于jsfiddle?
在控制台上它记录:ReferenceError: fillList is not defined和ReferenceError: mySelectList is not defined.
当代码嵌入到代码片段时,代码可以正常工作:
function BetterSelect(oSelList) {
this.objSelectList = oSelList;
this.objSelectList.onchange = this.selectionChanged;
}
BetterSelect.prototype.clear = function() {
this.objSelectList.options.length = 0;
}
BetterSelect.prototype.fill = function(aValues) {
this.clear();
for (var i = 0; i < aValues.length; i++) {
this.objSelectList.options[i] = new Option(aValues[i]);
}
}
BetterSelect.prototype.find = function(strToFind, bSelect) {
var indx = -1;
this.objSelectList.options.selectedIndex = -1;
for (var i = 0; i …Run Code Online (Sandbox Code Playgroud)对不起,如果这非常明显,但我不知道为什么这不起作用.
我正在尝试创建一个jsFiddle.但是,我似乎无法将任何javscript附加到任何元素.例如,onclick不会调用我的js函数.
它没有比这个小提琴更简单.我从W3编辑器中复制粘贴它工作得很好 - 点击按钮,获得警报!
<button onclick="myFunction()">Click me</button>
function myFunction() {alert("sss");}
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/tpip/NYkQN/2/
我在这里失踪了什么?
我想在JSFiddle中添加一些代码.它没用.缩小它我甚至无法使用这个最简单的代码:
function displaymessage() {
alert("Hello World!");
}
Run Code Online (Sandbox Code Playgroud)
<form>
<input type="button" value="Click me!" onclick="displaymessage()" />
</form>
<p>By pressing the button above, a function will be called. The function will alert a message.</p>
Run Code Online (Sandbox Code Playgroud)
该alert框未显示在JSFiddle中.
我使用JSFiddle来编辑我的代码.但是,在某些代码中,当我运行JavaScript或jQuery时,除非我选择"No wrap - <head>"或"No wrap - <body>",否则它不起作用.
在上面的小提琴中,你会注意到除非你选择了"No wrap - "或"No wrap - " 这个扩展名,否则你<button>不会点击该元素.alert()<head><body>
我是一个好奇的人,喜欢理解事情的运作方式.该选项究竟发生了什么变化,为什么要改变它?
非常简单的脚本:
function foo(){
return "bar"
}
console.log( foo() );
Run Code Online (Sandbox Code Playgroud)
安慰:
> bar // sanity test that proves everything's working
> foo(); // this guy is key!
> ReferenceError: foo is not defined
Run Code Online (Sandbox Code Playgroud)
我怎么称呼foo(); 用于调试和实验目的?
这不是一种做法吗?我喜欢使用IRB/Rails控制台来验证我的ruby代码,并希望对JavaScript做同样的事情
更新.这个问题没问题.见第一条评论.
我试图用jsfiddle.net弄清楚这个代码,但是当我运行它时,它会触发连接到我电脑的实际打印机.我将打印更改为"警告" http://jsfiddle.net/eZ3jQ/并返回(((1*3)+ 5)*3).但是,当返回调用找到时,我预计它会再次运行查找.
有没有办法让程序继续运行?
function findSequence(goal) {
function find(start, history) {
if (start == goal)
return history;
else if (start > goal)
return null;
else
return find(start + 5, "(" + history + " + 5)") ||
find(start * 3, "(" + history + " * 3)");
}
return find(1, "1");
}
print(findSequence(24));
Run Code Online (Sandbox Code Playgroud) 所以我有一个简单的HTML选择框和一个javascript警报功能.我希望选择框有一个onchange事件,它将调用javascript警报功能.这是我到目前为止:
HTML
<div style="float: left">Type: <select id="selector" onChange="jsfunction()">
<option value="Pyr">Pyramidally</option>
<option value="Lin">In-Lines</option>
<option value="Sym">Symmetrically</option>
<option value="Nsym">Non-Symmetrically</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript
function jsfunction(){
alert("hi");
}
Run Code Online (Sandbox Code Playgroud)
它不起作用,对于我的生活,我无法弄清楚为什么.我发现这种性质的大多数其他问题建议""围绕调用函数 - 我已经获得或制作onChange'c'资本,我也有.任何可能的帮助?我会非常感激的.
我无法让这个非常简单的jsfiddle工作.它只是在点击按钮时应该提醒测试.我在这里错过了什么?
我有一些html/javascript在我的.cshtml文件中有效.
当我尝试将其移动到jsfiddle进行实验时,它不起作用.
不知道如果这是我缺乏javascript经验,jsfiddle经验,可能两者....
HTML:
<div>
<button name="startBtn" id="startBtn" onclick="startTimer">Start</button>
</div>
Run Code Online (Sandbox Code Playgroud)
(我也尝试了"startTimer()"作为onclick属性;结果相同.)
JavaScript的:
function startTimer() { alert("startTimer"); }
Run Code Online (Sandbox Code Playgroud)
当我点击按钮时,我在控制台中看到了这个:
未捕获的ReferenceError:未定义startTimer
我在俯瞰什么?
(jsfiddle:http://bit.ly/1buQx9t )