2017-11-18 28 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

我剛試過。它給了我一個未定義的代碼 –