Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OOP JavaScript-初学者示例_Javascript_Oop - Fatal编程技术网

OOP JavaScript-初学者示例

OOP JavaScript-初学者示例,javascript,oop,Javascript,Oop,我在JS中编写了一些程序,但发现我的项目变得非常长,而且不必要地复杂。我想学习OOPJS,当我的代码以彩色和数字显示时,学习起来会容易得多。下面是一个小示例程序: var-box1Left1=0; var box1Left2; var-box2Left1=0; var box2Left2; 设置间隔(框1Fly,10); 函数框1Fly(){ //向右飞 如果(box1Left1=(300)){ 框1左2--; document.getElementById(“box1”).style.lef

我在
JS
中编写了一些程序,但发现我的项目变得非常长,而且不必要地复杂。我想学习OOP
JS
,当我的代码以彩色和数字显示时,学习起来会容易得多。下面是一个小示例程序:

var-box1Left1=0;
var box1Left2;
var-box2Left1=0;
var box2Left2;
设置间隔(框1Fly,10);
函数框1Fly(){
//向右飞
如果(box1Left1<300){
box1Left1++;
document.getElementById(“box1”).style.left=box1Left1+“px”;
box1Left2=box1Left1;
}
//向左飞
如果(box1Left1>=(300)){
框1左2--;
document.getElementById(“box1”).style.left=box1Left2+“px”;
}
//再次向右飞行
如果(box1Left2==0){box1Left1=box1Left2;}
}
设置间隔(框2Fly,10);
函数box2Fly(){
//向右飞
如果(box2Left1<300){
box2Left1++;
document.getElementById(“box2”).style.left=box2Left1+“px”;
box2Left2=box2Left1;
}
//向左飞
如果(box2Left1>=(300)){
box2Left2--;
document.getElementById(“box2”).style.left=box2Left2+“px”;
}
//再次向右飞行
如果(box2Left2==0){box2Left1=box2Left2;}
}

如果被否决的选民说为什么答案被否决了,他们会感到更高兴,并且会更乐意编辑答案使其正确<代码>:)

为什么不能只传递一个参数,它接受它应该使用的
id
?顺便说一下,这里面没有OOJS

var-box1Left1=0;
var box1Left2;
var-box2Left1=0;
var box2Left2;
设置间隔('boxFly('box1'),10);
设置间隔('boxFly('box2'),10);
功能boxFly(盒子id){
//向右飞
如果(box1Left1<300){
box1Left1++;
document.getElementById(box_id).style.left=box1Left1+“px”;
box1Left2=box1Left1;
}
//向左飞
如果(box1Left1>=(300)){
框1左2--;
document.getElementById(box_id).style.left=box1Left2+“px”;
}
//再次向右飞行
如果(box1Left2==0){box1Left1=box1Left2;}
}


你可能应该把这篇文章发上去。我想我可以,但如果你不知道怎么发的话,我会努力的!但现在我知道了,谢谢。好吧,那么没有OO?那么,这是一种什么样的常规制作方法呢?我认为没有OO的事实正是提问者想要解决的问题,但我可能错了。欢迎@JakeTheSnake!:)为什么要将坐标变量排除在对象之外?这是一个糟糕的OOP。@PraveenKumar有一个
开始运行
函数,一个
停止飞行
函数会是什么样子?你能停止函数运行吗?