javascript基本对象/函数

javascript基本对象/函数,javascript,Javascript,我试图在点击一个div时弹出一个警报,但没有成功,我在练习对象时把它弄糟了一点 代码如下: <!DOCTYPE html> <html> <head> <script type="text/javascript"> var mine = { var start = { modeBox : function(){ alert(); }

我试图在点击一个div时弹出一个警报,但没有成功,我在练习对象时把它弄糟了一点

代码如下:

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript">
      var mine = {
        var start = {
          modeBox : function(){
            alert();
          }
        }
  }
    </script>
  </head>
  <body>
      <div id="askMode" onclick="mine.start.modeBox();">My mine</div>
    </body>
</html>

var矿山={
变量开始={
modeBox:function(){
警惕();
}
}
}
我的
问题是:没有警报

为什么我在点击div时没有得到提示?
实时示例:

在Firefox和Chrome中测试了以下代码:

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript">
      var mine = {
        start: {
          modeBox : function(){
            alert('Test');
          }
        }
  }
    </script>
  </head>
  <body>
      <div id="askMode" onclick="mine.start.modeBox();">My mine</div>
    </body>
</html>

var矿山={
开始:{
modeBox:function(){
警报(“测试”);
}
}
}
我的
注意:您在JSFIDLE中发布的代码不起作用,但是您可以复制并粘贴上面提到的在浏览器中工作的代码

      this.mine = {
        start: {
          modeBox : function(){
            alert();
          }
        }
您正试图在对象文本中声明变量。我不认为这是一个有效的js,但更重要的是,你不能得到在该范围内声明的变量。必须将属性指定给对象。您的modeBox操作正确。

试试这个

<!DOCTYPE html>
  <html>
  <head>
    <script type="text/javascript">
      var mine = {
        start: {
          modeBox: function(){
            alert();
          }
        }
  }
    </script>
  </head>
  <body>
      <div id="askMode" onclick="mine.start.modeBox();">My mine</div>
    </body>
</html>

var矿山={
开始:{
modeBox:function(){
警惕();
}
}
}
我的

摆脱
var
减速(为什么?)


演示:

当试图从onclick事件访问“var-mine”时,它似乎也超出了范围。您需要这样做。将其绑定到全局范围。我已经更新了我的答案来反映这一点。看看控制台,你会发现你得到了一个语法错误。特别是如何调试JavaScript代码。答案是非常错误的,仍然可以。这会破坏StackOverflow的可靠性!
mine = {
    start: {
        modeBox: function() {
          alert();
        }
    }
};