如何在嵌套函数中管理全局变量

时间:2018-08-31 05:36:43

标签: javascript node.js napajs

我有一个简单的要求,我需要在 output$downloadData <- downloadHandler( filename = function() { file <- "saveddetails.txt" file }, content = function(file) { write(strip_html(save01), file) }, contentType = "text" ) 函数中使用abc,但要获得hello,我知道下面的代码给了我undefined并且应该给

undefined

但是我可以在function hello(){ console.log("printing abc ",abc); } function test(){ var abc = "hello"; hello(); }函数中使abc可用而无需手动传递,我正在为hello napajs函数执行此操作,我必须调用嵌套函数,我不想在层次结构中传递变量。

3 个答案:

答案 0 :(得分:2)

这是你的答案

function hello(){
    console.log("printing abc", this.abc);
}

function test(){
    this.abc  = "hello";
    hello();
}

test();

答案 1 :(得分:1)

尝试使用let代替var。 不确定结果如何,但从技术上讲,它将被限制在块范围内

答案 2 :(得分:0)

'use strict'

function hello(){

  console.log('---------1-------------')

  console.log("printing abc ",abc);

 }

 function test(){
   console.log('--------------2-----------')

  abc  = "hello";

  hello();

 }

 global.abc ='anjj';

 var a = test();

//请尝试这种方式