如何在Javascript类中从“私有方法”访问“公共变量”

密码丢失

首先,请参阅我的代码plz。

function test(){

    this.item = 'string';

    this.exec = function(){
        something();
    }

    function something(){
        console.log(this.item);
        console.log('string');
    }
}

然后我制作了类并调用“ exec函数”,就像这样的代码

var t = new test();

t.exec();

但是结果是...

undefined
string

我想从某种功能访问test.item。

你有什么解决办法吗?

大胆

您需要致电somethingapply以便this在内正确设置something

function test(){

    this.item = 'string';

    this.exec = function(){
        something.apply(this);
    }

    function something(){
        console.log(this.item);
        console.log('string');
    }
}

正如@aaronfay指出的,发生这种情况是因为this没有引用new test()创建的对象您可以在此处了解更多信息,但一般规则是:

如果一个功能上的调用object,然后thisobject如果一个函数是单独调用的(如代码中的情况),则this引用全局对象,在浏览器中为window

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何访问在公共方法中声明的变量以便在私有方法中使用它

来自分类Dev

如何在es6类中声明私有变量和私有方法

来自分类Dev

使javascript私有方法可访问其公共方法

来自分类Dev

Javascript私有方法和私有类变量

来自分类Dev

使用CoffeeScript在“私有方法”中获取“公共变量”

来自分类Dev

如何使用javascript中同一对象内的公共方法访问私有变量?

来自分类Dev

如何在公共方法中创建私有变量

来自分类Dev

在Swift中访问父类的私有方法

来自分类Dev

在Swift中访问父类的私有方法

来自分类Dev

如何在C ++中的Normal或Singleton类内GoogleTest私有方法/枚举类

来自分类Dev

使用涉及的嵌套私有方法访问覆盖函数的公共变量

来自分类Dev

如何在Ruby中访问私有类方法?

来自分类Dev

如何在Delphi 10.1 Berlin中访问私有方法TStreamReader.FillBuffer?

来自分类Dev

C#:无法在私有方法中访问公共方法

来自分类Dev

如何在Java类中修改或替换私有方法

来自分类Dev

如何在目标C中从超类重写私有方法和属性

来自分类Dev

如何在目标C中从超类重写私有方法和属性

来自分类Dev

如何在C#中隐藏基类的私有方法?

来自分类Dev

如何访问私有方法

来自分类Dev

如何从PHP中的公共静态方法访问私有类的属性

来自分类Dev

如何在Rust中测试私有方法?

来自分类Dev

如何在ruby中定义私有方法?

来自分类Dev

从基类继承的C ++公共方法无法访问派生类中的私有成员变量

来自分类Dev

如何在Matlab的公共方法中使用私有方法

来自分类Dev

如何从JavaScript中的私有函数访问公共函数

来自分类Dev

如何在javascript中重新定义私有方法?

来自分类Dev

如何在片段类中访问 MainActivity 类的公共成员(变量或方法)

来自分类Dev

在C ++中,如何在继承的类中访问私有基本成员变量?

来自分类Dev

类别访问主类的私有方法-目标C

Related 相关文章

  1. 1

    如何访问在公共方法中声明的变量以便在私有方法中使用它

  2. 2

    如何在es6类中声明私有变量和私有方法

  3. 3

    使javascript私有方法可访问其公共方法

  4. 4

    Javascript私有方法和私有类变量

  5. 5

    使用CoffeeScript在“私有方法”中获取“公共变量”

  6. 6

    如何使用javascript中同一对象内的公共方法访问私有变量?

  7. 7

    如何在公共方法中创建私有变量

  8. 8

    在Swift中访问父类的私有方法

  9. 9

    在Swift中访问父类的私有方法

  10. 10

    如何在C ++中的Normal或Singleton类内GoogleTest私有方法/枚举类

  11. 11

    使用涉及的嵌套私有方法访问覆盖函数的公共变量

  12. 12

    如何在Ruby中访问私有类方法?

  13. 13

    如何在Delphi 10.1 Berlin中访问私有方法TStreamReader.FillBuffer?

  14. 14

    C#:无法在私有方法中访问公共方法

  15. 15

    如何在Java类中修改或替换私有方法

  16. 16

    如何在目标C中从超类重写私有方法和属性

  17. 17

    如何在目标C中从超类重写私有方法和属性

  18. 18

    如何在C#中隐藏基类的私有方法?

  19. 19

    如何访问私有方法

  20. 20

    如何从PHP中的公共静态方法访问私有类的属性

  21. 21

    如何在Rust中测试私有方法?

  22. 22

    如何在ruby中定义私有方法?

  23. 23

    从基类继承的C ++公共方法无法访问派生类中的私有成员变量

  24. 24

    如何在Matlab的公共方法中使用私有方法

  25. 25

    如何从JavaScript中的私有函数访问公共函数

  26. 26

    如何在javascript中重新定义私有方法?

  27. 27

    如何在片段类中访问 MainActivity 类的公共成员(变量或方法)

  28. 28

    在C ++中,如何在继承的类中访问私有基本成员变量?

  29. 29

    类别访问主类的私有方法-目标C

热门标签

归档