以下代碼在大多數情況下工作正常,除了當我試圖從私有函數返回一個值。如何在不暴露私人功能的情況下從私人獲取返回值?嵌套的私有函數的返回值
var _private = function() {
return 'hello' ;
},
public = function() {
_private();
};
以下代碼在大多數情況下工作正常,除了當我試圖從私有函數返回一個值。如何在不暴露私人功能的情況下從私人獲取返回值?嵌套的私有函數的返回值
var _private = function() {
return 'hello' ;
},
public = function() {
_private();
};
使用此
var _private = function() {
return 'hello' ;
},
public = function() {
return _private();
};
羅裏打敗你,但這確實是正確的答案。 – master00
您必須添加return
聲明 return _private()
var _private = function() {
return 'hello' ;
},
public = function() {
return _private();
};
console.log(public());
console.log(_private());
注:你的私人功能不是很私密。正如你在上面的代碼片段中看到的那樣。該功能是可訪問的
JavaScript本身沒有私有函數,您將需要使用閉包爲您創建一個可私人訪問的作用域_private
函數。這是一個簡單的例子。
var public = (function(){
var _private = function() {
return 'hello' ;
}
return function() {
return _private();
}
})()
console.log(
public(),
typeof _private === 'undefined'
)
'回報_private();'' –
回報_private();' – gurvinder372
你在'_private()'函數做什麼?顯然這是僞代碼。 – Satpal