我的javascript格式有什么问题吗?

时间:2010-09-20 21:40:01

标签: javascript jquery asp.net-mvc

我正在使用.NET MVC2项目并且在母版页中引用了SomeClass.Home.js和jquery。我的SomeClass.Home.js看起来像这样:

SomeClass.Home = {};

$(document).ready(function () {
    SomeClass.Home.SomeMethod();    
});

SomeClass.Home.SomeMethod= function () {
    alert("hello");
};

对SomeClass.Home.SomeMethod的调用不起作用(我没有收到警报)。但是,如果我将其更改为此,则可以正常工作,我会收到警报:

$(document).ready(function () {
    SomeMethod();    
});

function SomeMethod () {
    alert("hello");
};

第一个语法有什么问题吗?

3 个答案:

答案 0 :(得分:2)

问题似乎与你描述SomeClass变量的方式有关。以下代码适用于我。

var SomeClass = {};
SomeClass.Home = {};
SomeClass.Home.SomeMethod = function() {
  alert("hello");
};

$(document).ready(function () {
    SomeClass.Home.SomeMethod();    
});

答案 1 :(得分:1)

是的,因为你没有宣布这个方法。我相信你应该这样做:

SomeClass.Home = {
   SomeMethod = function(){ //stuff });
}

$(function(){ SomeClass.Home.SomeMethod() });

答案 2 :(得分:1)

如果你在课堂上嵌入这个功能怎么办?

SomeClass.Home = {
  SomeMethod= function () {
    alert("hello");
  };
};

$(document).ready(function () {
    SomeClass.Home.SomeMethod();    
});

SomeClass.Home.SomeMethod= function () {
    alert("hello");
};