Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/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
Javascript 具有命名空间的意外标识符_Javascript_Namespaces - Fatal编程技术网

Javascript 具有命名空间的意外标识符

Javascript 具有命名空间的意外标识符,javascript,namespaces,Javascript,Namespaces,我有一个简单的代码,可以使div元素在页面上来回移动。一切正常,但当我尝试使用名称空间时,它就不再工作了,我得到了关于数字0的“uncaughtsyntaxerror:Unexpected identifier”。为什么呢?您将如何在这里使用名称空间使其工作?我刚开始使用名称空间,发现它有点混乱 <script> var MyNameSpace = MyNameSpace|| { var x: 0; var y: 20;

我有一个简单的代码,可以使div元素在页面上来回移动。一切正常,但当我尝试使用名称空间时,它就不再工作了,我得到了关于数字0的“uncaughtsyntaxerror:Unexpected identifier”。为什么呢?您将如何在这里使用名称空间使其工作?我刚开始使用名称空间,发现它有点混乱

<script>

        var MyNameSpace = MyNameSpace|| {

        var x: 0;
        var y: 20;
        var direction = "droite";

        bouger: function () {

            if (direction == "droite") {
                x:x+1;
            }


            else if (direction =="gauche") {

                x: x-1;
            }

            document.getElementById("bouge").style.left: x + "px";
            document.getElementById("bouge").style.top: y + "px";


            if (x == 200) {
                direction = "gauche";
            }
                else if (x ==0) {
                    direction = "droite";
                }
            }

        setInterval(bouger, 5);

        };

        MyNameSpace.bouger();


    </script>

var MyNameSpace=MyNameSpace | |{
变量x:0;
变量y:20;
var direction=“droite”;
布格:函数(){
如果(方向=“droite”){
x:x+1;
}
否则,如果(方向==“笨拙”){
x:x-1;
}
document.getElementById(“bouge”).style.left:x+“px”;
document.getElementById(“bouge”).style.top:y+“px”;
如果(x==200){
方向=“笨拙”;
}
else如果(x==0){
direction=“droite”;
}
}
设定间隔(布格,5);
};
MyNameSpace.bouger();

您的代码中有几个语法错误<代码>变量x:0,
x:x-1

除此之外,如果对象文本还不存在,则使用
|
操作符为
MyNameSpace
指定一个对象文本。您正在
{}
中为其分配一个代码块。相反,您可以将
x
y
direction
更改为
MyNameSpace
的属性,并使用
this
关键字。而且不能在对象文本内部调用
setInterval(bouger,5)
。因此,您可以在
bouger
函数中使用
setTimeout
在5 ms后重复该功能:

var MyNameSpace=MyNameSpace ||{
x:0,,
y:20,
方向:“droite”,
布格:函数(){
如果(this.direction==“droite”){
这个.x++;
}else if(this.direction==“笨拙”){
这是一本书;
}
document.getElementById(“bouge”).style.fontSize=this.x+“px”;
document.getElementById(“bouge”).style.top=this.y+“px”;
if(this.x==200){
this.direction=“gauche”;
}else if(this.x==0){
this.direction=“droite”;
}
setTimeout(this.bouger.bind(this),5);
}
};
MyNameSpace.bouger()

text
您的代码中有几个语法错误<代码>变量x:0
x:x-1

除此之外,如果对象文本还不存在,则使用
|
操作符为
MyNameSpace
指定一个对象文本。您正在
{}
中为其分配一个代码块。相反,您可以将
x
y
direction
更改为
MyNameSpace
的属性,并使用
this
关键字。而且不能在对象文本内部调用
setInterval(bouger,5)
。因此,您可以在
bouger
函数中使用
setTimeout
在5 ms后重复该功能:

var MyNameSpace=MyNameSpace ||{
x:0,,
y:20,
方向:“droite”,
布格:函数(){
如果(this.direction==“droite”){
这个.x++;
}else if(this.direction==“笨拙”){
这是一本书;
}
document.getElementById(“bouge”).style.fontSize=this.x+“px”;
document.getElementById(“bouge”).style.top=this.y+“px”;
if(this.x==200){
this.direction=“gauche”;
}else if(this.x==0){
this.direction=“droite”;
}
setTimeout(this.bouger.bind(this),5);
}
};
MyNameSpace.bouger()
text
我编辑了您的代码以反映名称空间模式的使用方式。它是一个具有属性的对象,在代码中仍然有分号和“var”,这使得名称空间不是对象

我编辑了您的代码以反映名称空间模式的使用方式。它是一个具有属性的对象,在代码中仍然有分号和“var”,这使得名称空间不是对象

var MyNameSpace = MyNameSpace|| {
    x: 0,
    y: 20,
    direction: "droite",
    bouger: function () {
        if (this.direction == "droite") {
            this.x = this.x + 1;
        } else if (this.direction == "gauche") {
            this.x =  this.x - 1;
        }
        document.getElementById("bouge").style.left = this.x + "px"; 
        document.getElementById("bouge").style.top = this.y + "px";
        if (this.x == 200) {
            this.direction = "gauche";
        } else if (this.x ==0) {
            this.direction = "droite";
        }
    }
}
setInterval(bouger, 5)
MyNameSpace.bouger();