我有一个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);
}
});
});
}
答案 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();