调用嵌套命名空间函数javascript

时间:2016-02-17 03:00:58

标签: function namespaces

<%= f.input :start_date, as: :date, html5: true %>
<%= f.input :expiration_date, as: :date, html5: true %>

任何人都可以解释如何调用和访问嵌套函数吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

您正在nest范围内定义test功能,并且只能在test内访问。 this.nest函数是根据test函数的上下文定义的,namespace函数是nest变量。这使test的{​​{1}}版本可以在var namespace = { test: function() { //sample 1 function nest(param) { console.log('a '+ param); } nest('sample 1'); //sample 2 this.nest = function(param) { console.log('b '+ param); } this.nest('sample 2'); } } namespace.test(); namespace.nest('sample 3'); 函数之外访问,即使您在函数体中定义它。

将代码更改为此,您将看到不同的控制台输出;

a sample 1
b sample 2
b sample 3

这将产生以下输出;

render()

有人建议阅读范围和背景; Understanding Scope and Context in JavaScript