何时在JavaScript中创建对象/实例?

时间:2009-07-05 18:51:55

标签: javascript object

我有一个JS脚本,在这个JS脚本中我有1个函数可以创建一个Object或一个实例。

是否在页面加载时创建了对象/实例,或者在调用函数时是否创建了对象/实例?

如果是后者,我该如何制作它以便在我想要的时候创建实例?

对于一个不起眼的问题道歉。

全部谢谢

更新

<input type='button' name='submit' onclick='videoUpload();' value='Upload' />

这是功能:

function videoUpload(){
    $.get("getUploader.php", function(data){
    var viduploader = new AjaxUpload('#vidup', {
          action: data,
          name: 'userfile',
          responseType: 'xml',
          onSubmit: function() {
            // allow only 1 upload
            alert('onSubmit' + data);
            this.disable();
          },
          onComplete: function(file, response){
              alert('Response' + response);
          }
        });
    });
}

4 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点,我无法告诉你一个人是否比另一个更好,但这里有几种方法。

//create a function
function SomeObject() {
    var self = this;
}

//and create it using 'new'
var a = new SomeObject();


//create an object of a function
var SomeOtherObject = function() {
    var self = this;
};

//and in similar fashion
var b = new SomeOtherObject();

//or just create a function that creates new object
var YetAnother = function() {
    var gen = {};
    return gen;
};

//and create by calling the function
var c = YetAnother();

答案 1 :(得分:1)

这取决于你如何调用函数以及是否存在var。

从这两个网页上阅读将教会您关于javascript需要了解的大部分内容 https://developer.mozilla.org/en/a_re-introduction_to_javascript
http://www.hunlock.com/blogs/Mastering_Javascript_Arrays

答案 2 :(得分:0)

依赖于你究竟在做什么。基本上它是在你调用函数时创建的。但如果您将此调用设为全局,则将在加载页面后创建。如果您想检查它的装箱,请检查:

if ( typeof( obj) === 'undefined')
{
   // wasn't created or even declared
}

if ( obj === null)
{
  // was declared, but not created
}

PS。我想你需要指出一点问题。

更新后:

实际上在这种情况下没有创建对象,每次用户点击按钮时都会调用函数。

答案 3 :(得分:0)

一个对象和一个实例实际上是两个不同的东西。

实例是生物,呼吸,“在那里,做它”的对象版本。

您创建了一个对象,但要使用它,您必须创建该对象的实例。例如,一个Array是一个对象,并使用像这样的数组......

var myArray = new Array();

创建该对象的“实例”。

对于OOP来说,Javascript的外观和感觉有点奇怪,但是如果你创建了一个对象,它会看起来像这样

function MyObject(){
    // your objects code goes in here
}

并且只要你写这样的东西,你就会创建该对象的实例

var myInstance = new MyObject();

Here's a great primer on OOP in javascript。我强烈推荐它。