Javascript,从具有变量的函数获取变量
如何从变量内部获取变量以便用于整个脚本?
<script>
var variable = function(snap) {
var header= snap.head();
var name = snap.name();
};
alert(variable.name);
</script>
我希望能够在函数外部使用variable.name。如果可能的话。
Javascript,从具有变量的函数获取变量
如何从变量内部获取变量以便用于整个脚本?
<script>
var variable = function(snap) {
var header= snap.head();
var name = snap.name();
};
alert(variable.name);
</script>
我希望能够在函数外部使用variable.name。如果可能的话。
将“变量”函数视为一个类。将内部变量更改为函数的PROPERTIES。 (并且不要命名一个函数“变量”,它只是icky)。
var Variable = function(snap) {
this.name = snap.name() //
}
var the_var = new Variable(snap_func);
console.log (the_var.name());
+1这个构造函数模式似乎是OP试图完成的事情 – Christophe
说没有定义snap_func。 – Brian
snap_func就是我所做的 - 你会传递你想要传递给'Variable'方法的任何函数的名字。 – rGil
您可以删除var并使其以这种方式工作。如果你不能做到这一点,然后制作一个像getName这样的新方法并像这样定义它。
this.getName = function(){
return name;
}
要调用它,你必须使用variable.getName();
它更好地使这样的访问器方法,所以你可以检查名称是否有你可能不想发送出去的东西。
鼓励OP在窗口对象上设置一个全局变量是不好的做法,因为它可以在任何地方被覆盖,并且代码不是模块化的,它涉及打破有效和可控的javascript编码的基本设计原则。 –
你不能,至少不是这样。阅读“关闭”,你会明白为什么这是不可能的。 – elclanrs
创建一个容器对象和[看这里](http://stackoverflow.com/questions/3750082/javascript-oop-best-practices/13074081#13074081)的方向关于如何改变你想要的可访问性.. Works非常适合页面和控件。 –