从嵌套的私有函数返回值

时间:2017-04-19 13:47:50

标签: javascript jquery function methods return

当我尝试从私有函数返回值时,以下代码在大多数情况下除了之外的效果很好。如何在不暴露私有函数的情况下从私有获取返回值?

var _private = function() {    
  return 'hello' ;    
},
public = function() {
  _private();
};

3 个答案:

答案 0 :(得分:1)

使用此

var _private = function() {    
  return 'hello' ;    
},
public = function() {
  return _private();
};

答案 1 :(得分:1)

您必须添加return语句 return _private()

var _private = function() {    
  return 'hello' ;    
},
public = function() {
  return _private();
};

console.log(public());
console.log(_private());

注意:您的私人功能不是非常私密。正如您在上面的代码片段中看到的那样。该功能可以访问

答案 2 :(得分:1)

Javascript本身没有私有函数,您需要使用闭包为您创建一个可私有访问的作用域_private。这是一个简单的例子。

var public = (function(){ 

  var _private = function() {    
    return 'hello' ;    
  }
  
  return function() {
    return _private();
  }
   
})()

console.log(
  public(),
  typeof _private === 'undefined'
)