87,921
社区成员
发帖
与我相关
我的任务
分享
function myFunction() {
if (typeof value1 != "undefined") {//没有这一句,value1好像会有不同的整数值。
return;
}
var i = 0;
value1 = setInterval(function () {
if (i == 0) {
//function1
i++;
}
else {
//function2
i--;
}
}, 1000);
}
function clear_myFunction() {
if (typeof value1 == "undefined") {
return;
}
clearInterval(value1);
delete value1;
}
//value1没有预先定义
//现在我要执行几十次myFunction,代码里面不同的地方只有value1,value2,value3,……
//如何把一个没有定义的变量传到myFunction里面,让它成为全局变量
//clear_myFunction也能根据参数删除定时器的全局变量
MyClass.prototype.myFun = function(val){//我需要把val传进来
var i = 0;
MyClass.val = setInterval(function () {
if (i == 0) {
//your funciton
i++;
}
else {
//your funciton
i--;
}
}
//能不能这样调用myFun?
var myInstance = new MyClass();
myInstance.myFun(val1);
myInstance.myFun(val2);
myInstance.myFun(val3);
//能不能这样调用clearFun?
myInstance.clearFun(val1);
myInstance.clearFun(val2);
myInstance.clearFun(val3);
var MyClass = function(){
this.val = 0;
}
MyClass.prototype.myFun = function(){
var i = 0;
this.val = setInterval(function () {
if (i == 0) {
//your funciton
i++;
}
else {
//your funciton
i--;
}
}, 1000);
}
MyClass.prototype.clearFun = function(){
clearInterval(this.val);
}
window.onload = function(){
//1. 需要实例化
var myInstance1 = new MyClass();
var myInstance2 = new MyClass();
var myInstance3 = new MyClass();
var myInstance4 = new MyClass();
.
.
//这样就可以了啊,和C#的面向对象思想一样的。
// MyClass = {.....} 这种方式不行,因为MyClass.val 相当于是static field,
// 是和类相关的,而不是和实例相关的。
}