javascript从外部作用域变量访问成员函数
javascript accessing a member function from outer scope variable
我一直在jsfiddle中尝试一些js代码,似乎我无法让下面所有这些代码组合都工作。。
//combination #1
function get_set() {
this.get = function () {
document.write("get");
};
this.set = function () {
document.write("set");
};
};
var x = get_set; // storing function reference in x
x.get(); //invoking doesnt work.
//combination#2
var get_set = function() {
this.get = function () {
document.write("get");
};
this.set = function () {
document.write("set");
};
};
get_set.get(); //doesnt work as well..
有什么我想念的吗?提前感谢您的建设性建议/指出任何错误。如果有任何帮助,我将不胜感激。
您必须创建get_set
的新实例
var x = new get_set();
或者在get_set
中,您必须使用return this;
才能在本例中工作。
您的get_set
函数是构造函数函数。它旨在创建("构造")自己的实例。为了做到这一点,您需要关键字new
。所以
var getset = new get_set;
创建get_set的一个实例。现在可以使用方法getset.set
和getset.get
。
在这种情况下,也许您可以使用Object文字创建一个唯一的实例:
var get_set = {
get: function () {
document.write("get");
},
set: function () {
document.write("set");
}
};
现在您不需要new
关键字,并且方法立即可用(get_set.get
,get_set.set
)
使用x=new get_set;这会奏效的。
相关文章:
- 成员函数中的Javascript“this”object==“window”
- CakePHP错误:在非对象上调用成员函数get(),使用cakejavascript助手时出错
- 对象属性不是在工厂成员函数内部创建的
- 在setTimeout中执行jQuery成员函数而不关闭的方法
- 如何从父类中记录成员函数
- Javascript中的成员函数
- 为什么要在构造函数中定义事件处理程序成员函数(内联)以便使用“unbind”
- 在 Jquery 插件中调用成员函数
- 成员函数的 JS 最佳实践
- 如何在javascript中声明成员函数?获取“TypeError: Object.function is not a
- 如何使用字符串引用闭包,就像我在不使用 eval 的情况下使用成员函数一样
- 如何在javascript中调用类成员函数
- 调用数字文字的成员函数
- 用成员函数扩展React.js存储数据结构
- 如何使“this”引用成员函数而不是其所有者类的实例
- 将对象的成员函数公开为全局函数
- 在coffeescript类中是否可以有一个同名的静态函数和成员函数
- 对象成员函数的回调?(Javascript)
- 在dojo模块中引用父级的JSON/javascript成员函数
- Javascript对象和传递的成员函数作为参数