日期:2014-05-16  浏览次数:20661 次

初学jQuery的js 问题,请达人指教 - Web 开发 / Ajax
代码如下:

自己定义了一个test.js,里面定义了两个类:

/**
@namespace JavaScript framework 
*/


 $.student = {
  name : "li", 
  age : 18 ,
  sex : "M",
  score : "",
  set_age: function(a) 
  { 
  age= a;
  return a; 
  },
  set_name: function(n) { name=n; return n; } 
  ,
  print: function() { alert(sum);},
  get_age: function() { alert(name); return name; }
   
  };
   
   
 var stu = $.student;  
$.teacher = {
  version: "1.0",
  sdt: stu ,
  getStuAge:function(){
  alert("getStuAge");
  return stu.get_age();
  }
};

然后在html页面中调用:
alert($.teacher.getStuAge());


发现弹出的对话框为"age is not defined ", 不理解, 是因为没有初始化对象么? 还是说像Java一样? 初始化对象然后调用?

------解决方案--------------------
调试js,请用firebug,它可以直接指出你哪行错了。还有就是,你为什么这样写对象呢?这样很容易发生闭包的问题。

------解决方案--------------------
JScript code


  age= a;
  return a;

------解决方案--------------------
探讨
JScript code


age= a;
return a;




age 确实没有定义啊!

如果你是要给student的属性age重新赋值的话:

this.age = a;

如果是要定义一个局部变量的话:

var age = a;

------解决方案--------------------
是的,你的参数a是怎么来的,也没有传值。