1

以下代码给出错误。

var user;

user.load= function () {

//

}

它给出了错误Cannot read property 'load' of undefined

编辑:在Javascript中默认情况下不是所有的对象吗?

4

5 回答 5

8

user变量必须是一个对象,以便您为其分配属性。尚未分配值的变量是undefined,您不能将属性分配给undefined

var user = {};
user.load = function () {
    // ...
}
于 2013-08-15T09:36:58.543 回答
2

尝试这个:

var user = {};

user.load= function () {

//

}
于 2013-08-15T09:36:46.473 回答
0

Javascript中默认情况下不是所有东西都是对象吗?

不,很多东西都是对象,但是变量的默认值是undefined,这是一个不能被赋予属性的原语。

您需要将一个对象(一个新的空对象很好)分配给变量:

var user = {};
于 2013-08-15T10:17:01.853 回答
0
var user = {
   load: function(){
        return 'hi';
   }
};
user.load();

或者

var user = function(){
   this.load = function(){
      return 'Hi';
   }
}
于 2013-08-15T09:54:16.617 回答
0
var user = {};
user.load= function () {

//

} 

目前 user 是undefined,它需要是一个对象。

于 2013-08-15T09:37:29.087 回答