如何在javascript中访问此变量?

时间:2018-05-27 11:43:09

标签: javascript function variables function-call

function testing() {
  var test = function() {
    console.log("hi");
  };
  return test;
}
testing.test;

这并不会控制变量测试的内容。

4 个答案:

答案 0 :(得分:2)

执行测试功能后,您可以执行测试功能:



function testing() {
  var test = function() {
    console.log("hi");
  };
  return test;
}
testing()();




如果您想像对象一样使用testing,则可以返回一个:



function testing() {
  var test = function() {
    console.log("hi");
  };
  return {test:test};
}
testing().test();




答案 1 :(得分:1)

有很多方法可以解决这个问题,这里有一些,

返回变量本身,然后运行函数

function testing() {
  var test = function() {
    console.log("hi");
  };
  return test;
}
testing()(); // <-- weird as heck, testing() returns a function, and we execute it.

运行该函数并返回变量

function testing() {
  var test = function() {
    console.log("hi");
  };
  return test();
}
testing();

将其变成对象,

var testing = {
  test: function(){ console.log("hi") }
}

testing.test() // <-- access the test however you want.

返回一个对象,

function testing() {
  return {
    test: function() {
     console.log("hi");
    };
}
testing().test // <-- this is a function, execute it as you wish

把它变成原型。

function Testing(){}
Testing.prototype.test = function() {
 console.log("hi");
};
new Testing().test() // access it

答案 2 :(得分:0)

您需要执行test功能

&#13;
&#13;
function testing() {
  var test = function() {
    console.log("hi");
  };
  return test(); // changed here
}
testing();
&#13;
&#13;
&#13;

否则创建一个对象testing&amp;让test成为该对象的方法

&#13;
&#13;
var testing = {
  test: function() {
    console.log("hi");
  }

}
testing.test();
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您的testing()函数返回另一个函数。您必须将返回值分配给变量,然后调用该函数以获得您要查找的结果:

function testing() {
  var test = function() {
    console.log("hi");
  };
  return test;
}
var test = testing();
test()

//Or alternatively:
testing()();