变量在函数中表现很差 - 在javascript中

时间:2009-12-26 19:21:39

标签: javascript variables

首先,这是我的代码:

var variable1 = 10;
  function f1 (){
  alert(variable1);
  }
//When button is pressed, call function
$("#button").click(f1);

为什么我不能在函数内部访问variable1? 非常感谢和祝圣诞快乐。

修改后的问题

$(document).ready(function() {

var how_many_words = 3;
alert(how_many_words);  //This happens

$("input").keypress(check_word);

function check_word(){
alert('hello');         //This happens
alert(how_many_words);  //This doesn't
    }

    });

4 个答案:

答案 0 :(得分:1)

您的问题实际上并不是您无法访问变量,而是在调用绑定代码时#button元素尚未在DOM中。将初始化代码包装在jQuery DOM ready idiom中:

$(document).ready(function() {
    $("#button").click(f1);
});

答案 1 :(得分:1)

这是this website提供的问题的确切答案。我愚蠢地将我的一个变量命名为id和function。疯狂!我为浪费人们的拳击日而道歉。谢谢你的帮助。

答案 2 :(得分:0)

尝试:

 var variable1 = 10;
 var f1 = function(){
     alert(variable1);
 }
 //When button is pressed, call function
 $("#button").click(f1);

刚刚嘲笑你的问题。你的代码对我来说很好:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>
            test
        </title>

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    </head>
    <body>
        <div id="button">hello</div>
        <script type="text/javascript">
            //<![CDATA[
                var variable1 = 10;
                function f1 (){
                    alert(variable1);
                }
                //When button is pressed, call function
                $("#button").click(f1);

            //]]>
        </script>
    </body>
</html>

答案 3 :(得分:0)

我非常确定您可以variable1内部访问f1。当你尝试时会发生什么?

我注意到的一件事是你用int参数调用alert。我不确定这是否有效。试试

<德尔>警报(variable1.toString());

<德尔>代替。

编辑:好的,别担心; alert(int)当然可行。