2017-11-18 30 views
0

我知道这是非常基本的,但我几乎没有编码经验,并且还没有找到为什么此函数总是返回undefined请帮助。Chrome控制台的基本代码帮助

<script> 
function myFunction() { 
    var x,y; 
    y = document.getElementById("nent_nonce"); 
    z = document.getElementById("next_server_seed_hash"); 
} 
</script> 

新的代码,我用我拿出脚本,因为它不停地给我和意外的标记<我打算修复后

function x() { 
return [ $('#next_nonce').html(), $('#next_server_seed_hash').html() ] 
} 

这是给我的未定义虽然试图两份文件.getelementbyid工作

回答

0

JavaScript函数返回undefined,除非您明确return的东西。试想一下:

function x() { 
    5; 
} 

当你调用x()undefined

相反:

function x() { 
    return 5; 
} 

如果你没有一个良好的JavaScript基准,你不会得到没有一个很远。好消息是Mozilla has fantastic documentation让你开始。

一个解决方案,以返回两个元素是使用一个数组,如:

function x() { 
    return [ 
    $('#next_nonce').html(), 
    $('#next_server_seed_hash').html() 
    ]; 
} 

或者你可以返回一个JavaScript对象:

function x() { 
    return { 
    next_nonce: $('#next_nonce').html(), 
    next_server_seed_hash: $('#next_server_seed_hash').html() 
    }; 
} 

凡使用html()意味着这些都是标准的HTML元素其中包含内容,如<div><p>。如果这些是表单元素,则应使用val()获取标签内的value="..."属性。

+0

好的,谢谢你的链接,我一定会去看看。不好意思,但是如果你不介意,我有一个快速跟进问题。我可以使用document.getelementbyid作为我的返回吗?这样它会返回该元素的值。 –

+0

这就是主意。无论你想要什么,只要“返回”,你就会从你的功能中得到回报。作为说明,您可能需要查看像[jQuery](http://jquery.com)这样的工具,它可以显着减少您需要编写的JavaScript代码的数量。在这种情况下,如果您希望一次返回两个值,则代码归结为'return [$('#nent_nonce')。html(),$('#next_server_seed_hash')。html()]'。 – tadman

+0

我刚试过。它给了我一个未定义的代码 –