簡體   English   中英

JavaScript返回值未定義

[英]Javascript return value undefined

我想問一下如何從函數'save_value'返回變量'get_cookies'。 然后將其值寫入mouseleave事件。

函數“ get_cookies”將保存輸入的更改。 我認為錯誤是對的。

對不起,我的英語不好。

這是代碼:

<html>
<head>
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    <script src="jquery.cookie.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            function save_value(value) {
                var get_cookie = value;
                return get_cookie;
            };

            $('#submit_value').live('click', function() {
                var get_value = $('#get_value').val();
                save_value(get_value);
            });

            $(document).mouseleave(function() {
                var create_cookie = save_value();
                console.log('save: ' + create_cookie);
            });
        });
    </script>
</head>
<body>
    <input type="text" id="get_value" />
    <input type="button" id="submit_value" value="Click" />
    <div></div>
</body>

控制台日志:

save: undefined

謝謝。

函數save_value()需要一個參數。 從這里開始

var create_cookie = save_value();

您沒有將值傳遞給函數,它將返回undefined ,因此變量create_cookie值也undefined

您的save_value()函數需要輸入參數,因此僅save_value()本身是未定義的。

您是要這樣做嗎?

$(document).mouseleave(function() {
    var get_value = $('#get_value').val();
    var create_cookie = save_value(get_value);
    console.log('save: ' + create_cookie);
});

這很簡單:您的函數function save_value(value)接受value參數,將其分配給變量,然后返回該變量。 當您不帶參數調用它時,就像在這里一樣: var create_cookie = save_value(); ,則value參數將是不確定的。 因此,該函數返回未定義。

另外:使用名為cookie變量不會設置cookie。 為此,您必須使用localStorage.setItem('cookieName','cookieValue');

由於您使用的是最新的jQuery版本,因此不應使用live()函數,因為jQuery 1.7中已棄用了該函數。

無論如何,您的問題是不同的。 您的save_value函數不執行任何操作。 只需創建一個變量並返回其值即可。 但是您沒有傳遞任何參數,因此它返回默認值: undefined

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM