javascript - 从构造函数引用 Javascript 实例变量而不使用 'this' 关键字

标签 javascript oop

我刚刚开始使用 JavaScript oops 概念,我想从构造函数中访问 3 个实例变量,而不使用“this”关键字,第一个值即将到来,但不是第二个......依此类推......`

        function CreateObject()
        {
            var p1 = new person('chanky',25,'Male');           
        }

        function person(name,age,sex)
        {
            this.name = name; 
            this.age = age;
            this.sex = sex;      

            document.write(name); //Working
            document.write(age); //not Working
            document.write(sex); //not Working

         /*If we use 'this' keyword then all are Working */

            document.write(this.name); // Working
            document.write(this.age); // Working
            document.write(this.sex); // Working
        }`

最佳答案

“这个”有什么问题?您想要访问未声明的成员,因此使用“this”。

您可以像这样访问类外部的值:

var p = new person('chanky',25,'Male');
alert (p.age);

function person(name,age,sex)
        {
            this.name = name; 
            this.age = age;
            this.sex = sex;      
        }

如果您仍然担心,请声明一个变量并将收到的值分配给它们,并且当您使用面向对象方法时,封装变量以在类外部访问它们

function person(name,age,sex)
        {
            var _name;
            var _age;
            var _sex;

            _name = name; 
            _age = age;
            _sex = sex;      

            this.getName = function () {
                return _name;
            };

            this.getAge = function () {
                return _age;
            };

            this.getSex = function () {
                return _sex;
            };
        }

并使用“方法”:

var p2 = new person('chanky',25,'Male');
alert (p2.getAge());

关于javascript - 从构造函数引用 Javascript 实例变量而不使用 'this' 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721349/

相关文章:

javascript - CSS隐藏表格并显示tr

javascript - Web 扩展身份 token 返回 403

javascript - 如何在 Chrome 中创建 TouchEvent?

oop - 何时实现接口(interface)以及何时扩展父类(super class)?

javascript - 预加载图像时 Internet Explorer 循环错误

javascript - 为什么这个 alert() 调用有效?

c# - 创建新实例时使用类方法

javascript - "this"不返回选择器

java - 我如何创建一个新文件并放入一些用户定义的整数(使用 Scanner 类)然后读取它?

java - 关联与聚合