对象方法javascript中的方法/函数

method/function inside object method javascript

本文关键字:方法 函数 javascript 对象      更新时间:2023-09-26

嘿,伙计们,我刚刚开始使用javascript的原型,我想知道这是否可能,如果可能,如何在方法内部调用函数,例如:

obj = function(test){
this.test=test;
}
obj.prototype.a = function(){
    var x = this.test;
    function b(){
        alert(x);
    }
    function c(){
    console.log(x);
    }
}
var foo = new obj();
foo.a.b();

那么,我可以在不调用function c的情况下访问obj.a内部的function b吗?即我希望能够调用a并让它调用其中的两个函数,但如果需要,也可以只调用bc

我知道我可以把这些放在a之外的单独方法中,但我想我会问这个问题。

干杯。

b的作用域是声明它的匿名函数。如果不更改该函数以暴露它,就无法从外部访问该函数

您可以调用a,因为它是对象原型的一个属性(它没有存储在作用域变量中)。CCD_ 10和CCD_。编写代码的方式是人们通常如何在JavaScript中创建私有方法。

您可以稍微更改代码以使其成为可能,但我怀疑您真正想要的是当您从外部调用b时仍然能够获得x的值。。。我说得对吗?

您是否考虑过将a作为另一个实例?我假设你的代码足够简单,可以让它变得有价值。。。