Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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/9/javascript/405.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_Oop - Fatal编程技术网

Javascript 如何调用对象内部的对象键而不使用;这";

Javascript 如何调用对象内部的对象键而不使用;这";,javascript,oop,Javascript,Oop,我开始使用Base.js进行类继承。在Base.js中,类应该是对象,但不起作用 这就产生了一个问题: ​var obj = { variable:true, func:function(){ console.log(variable); } }; obj.func();​ 此代码抛出错误:“未捕获引用错误:未定义变量”。这是因为“console.log(variable);”没有“This” 但是我不想

我开始使用Base.js进行类继承。在Base.js中,类应该是对象,但不起作用

这就产生了一个问题:

    ​var obj = {
    variable:true,
        func:function(){
            console.log(variable);
        }
    };

    obj.func();​
此代码抛出错误:“未捕获引用错误:未定义变量”。这是因为“console.log(variable);”没有“This”

但是我不想在我的大班里的所有函数中都写“this”


有什么办法可以解决这个问题吗?

您可以编写一行额外的代码:var ins_obj=this;但是您仍然需要在console.log中输入ins_obj.variable。我用过的任何语言都是这样做的。this.variable是调用变量、对象内部函数的方法。

编写
this.whatever
而不是
whatever
正是JavaScript中应该做的事情。这同样适用于Python和LUA。这实际上是一件好事,因为您可以立即看到是否访问了成员变量或局部/全局变量。请不要仅仅因为你“不想”做其他人在该语言中也做的事情,就想办法歪曲一种语言。我使用的任何语言都会这样做。this.variable是调用变量、对象内部函数的方法。是的,这是确定的。但我使用对象作为类。而且写“这个”总是很乏味。