Javascript 从对象获取私有变量
在不修改函数测试本身的情况下,是否可以从此对象获取私有变量值 是否可以以某种方式扩展对象/函数测试以获取变量值 在不修改函数测试本身的情况下,是否可以从此对象获取私有变量值 没有 还要注意的是,在调用Test之前,值根本不存在,每次调用Test时都会创建一个不同的值。在这两种情况下,除非测试中有一个未显示的闭包,否则当测试返回时,变量将消失 你最新的问题是:相同的答案。值仅在调用测试期间存在。它并没有保存在任何地方,也并没有任何闭包覆盖它,所以一旦测试返回,它就会消失 在不修改函数测试本身的情况下,是否可以从此对象获取私有变量值 没有 还要注意的是,在调用Test之前,值根本不存在,每次调用Test时都会创建一个不同的值。在这两种情况下,除非测试中有一个未显示的闭包,否则当测试返回时,变量将消失Javascript 从对象获取私有变量,javascript,Javascript,在不修改函数测试本身的情况下,是否可以从此对象获取私有变量值 是否可以以某种方式扩展对象/函数测试以获取变量值 在不修改函数测试本身的情况下,是否可以从此对象获取私有变量值 没有 还要注意的是,在调用Test之前,值根本不存在,每次调用Test时都会创建一个不同的值。在这两种情况下,除非测试中有一个未显示的闭包,否则当测试返回时,变量将消失 你最新的问题是:相同的答案。值仅在调用测试期间存在。它并没有保存在任何地方,也并没有任何闭包覆盖它,所以一旦测试返回,它就会消失 在不修改函数测试本身的情况
你最新的问题是:相同的答案。值仅在调用测试期间存在。它没有保存在任何地方,也没有任何闭包,所以测试返回后它就会消失。哈哈,这太傻了-请不要这样做!但总有办法;D document.getElementById'result'.innerHTML=Test.toString.replacefunction测试{\n var value=,.replace;\n}
哈哈,这太傻了-请不要这样做!但总有办法;D document.getElementById'result'.innerHTML=Test.toString.replacefunction测试{\n var value=,.replace;\n}
那么为什么我们应该称它为私有变量呢?如果你需要私有变量,那么可以创建一个getter或setter函数。如果你需要私有变量,那么为什么我们应该称它为私有变量呢?如果你需要私有变量,那么可以创建一个getter或setter函数。那么,在对象测试之后是否可以添加一个新方法呢是否已启动/创建?@clarkk:否。首先,让我们澄清一点:虽然Test是一个对象,因为函数是JavaScript中的对象,但它不是您想要的对象。当您执行新测试时,您正在考虑由new创建的对象。同样,一旦测试返回,值就不再存在。您必须添加一个结束值的方法,这只能通过修改测试函数来完成。如果您要修改Test,用value属性this.value=14;替换value变量会更简单;。那么,在启动/创建对象测试之后,是否可以添加一个新方法?@clarkk:不。首先,让我们澄清一下:虽然测试是一个对象,因为函数是JavaScript中的对象,但它不是您所考虑的对象。当您执行新测试时,您正在考虑由new创建的对象。同样,一旦测试返回,值就不再存在。您必须添加一个结束值的方法,这只能通过修改测试函数来完成。如果您要修改Test,用value属性this.value=14;替换value变量会更简单;。
function Module(){
this.get = function(){
return value;
}
}
function Test(){
Module.call(this);
var value = 14;
}
Test.prototype = Object.create(Module.prototype);
Test.prototype.constructor = Test;
var T = new Test();
T.get();