为什么JSFiddle不输出此代码的结果?

3
我一直在使用Firebug JavaScript控制台测试短脚本。有几个人建议改用JSFiddle。问题是我似乎无法弄清楚如何做到这一点。我将我的代码输入js面板并点击运行,但什么也没有发生。我假设应该有一些输出结果?我尝试了不同的设置,阅读了JSFiddle文档、阅读了其他在Stackoverflow上发布的问题,但我无法弄清楚。看起来应该很简单。也许只有在从HTML中调用它时才起作用?http://jsfiddle.net/nngrey/QgxCn/(我必须包含我的代码才能引用JSFiddle的链接。)
function Palindrome(str) {
    str = str.split("");
    for (var i = 0; i < str.length; i++) {
        if (str[i] === " ") {
            str.splice(i, 1);
        }
    }
    revStr = str.reverse().join("");
    str = str.join("");
    if (revStr === str) {
        return true;
    } else {
        return false;
    }
    return str;
}

str = "dont nod";
Palindrome(str);

3
alert(Palindrome(str)); 或 console.log(Palindrome(str));意思是检查某个字符串是否为回文,如果是则返回true,否则返回false。您可以使用JavaScript编程语言来实现这个功能。 - lastr2d2
1
你必须对返回值进行某些操作。否则它就会丢失。"结果"面板只显示你放在HTML面板中的HTML。 - Felix Kling
谢谢。弹窗可以正常工作,但控制台日志似乎不能正常工作。 - user1936292
2
@Nathan console.log 会将一条消息输出到 Web 控制台。要查看它,您应该先打开控制面板。 - lastr2d2
3个回答

7

你可以使用这个jsFiddle来通过console.log输出内容。与alert()的思路相同,但不需要关闭弹窗。感谢Wayne Koort

http://jsfiddle.net/TEHLb/

var consoleLine = "<p class=\"console-line\"></p>";
console = {
    log: function (text) {
        $("#console-log").append($(consoleLine).html(text));
    }
};
var myVar = "foo";
console.log('Your variable has the value ' + myVar);

谢谢,开始使用这个(= forked 它)。 - akauppi

5

如果没有HTML来显示你的答案,你可以通过弹出窗口(alert)查看结果。

function Palindrome(str) {
  str = str.split("");
  for (var i = 0; i < str.length; i++) {
    if (str[i] === " ") {
        str.splice(i, 1);
    }
}
revStr = str.reverse().join("");
str = str.join("");
if (revStr === str) {
    return true;
} else {
    return false;
}
    return str;
}

str = "dont nod";
alert(Palindrome(str));

同时,由于return false;return true;return str;之前,因此您的return str;永远不会被返回。一旦函数返回,它就停止运行,即它只返回一个结果。 - Trevor
谢谢!你明白Firebug的Javascript控制台、Chrome的Javascript控制台和JSFiddle的界面之间的区别吗?也就是说,当我在Firebug的控制台右侧输入时,会得到各种反馈。但在Chrome和JSFiddle中并不是这样。我感觉我没有正确地使用这两个工具。肯定还有更多我不知道的东西。 - user1936292
1
请查看这个问题https://dev59.com/P2Yq5IYBdhLWcg3woCC7,如果我打开你的小提琴,然后在`Chrome` java脚本控制台中将<top frame>更改为result(fiddle.jshell.net/),并且在左上角将onLoad更改为No Wrap - in <body>,然后重新运行小提琴,您可以在控制台中访问函数和变量console.log(Palindrome(str));有效。虽然我从未在本地开发中遇到过访问控制台中的变量的麻烦,但这似乎是JSFiddle独有的。 - Trevor

1

你需要使用 alert(Palindrome(str));

试试这个 演示


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接