2017-04-06 59 views
3

我試圖調用主外一個函數內部功能:如何訪問功能的funtion裏面

var myFunction = function myFunct(element) { 
    function tryIt(){ 
      alert("hello"); 
    }; 
    return{ 
    tryIt: tryIt 
    } 
} 

而且我嘗試調用myFunct外「tryIt」功能與

myFunction.tryIt 

但它不工作。

我該怎麼做?

+3

你應該合理分配學習JavaScript。詳細瞭解[設計模式](http://shichuan.github.io/javascript-patterns/#design-patterns)。另外[這](https://philipwalton.com/articles/implementing-private-and-protected-members-in-javascript/)是一個很好的閱讀。 – vsync

回答

7

首先,您需要調用該函數,然後調用屬性tryIt的返回對象的函數。

var myFunction = function myFunct(element) { 
 
     function tryIt(){ 
 
      alert("hello"); 
 
     } 
 
     return { 
 
      tryIt: tryIt 
 
     }; 
 
    }; 
 

 
myFunction().tryIt(); 
 
//  ^^   calls myFunction 
 
// ^^^^^^^^^   returns object with function tryIt 
 
//    ^^ calls tryIt

-1
function myFunct() { 
    function tryIt() { 
     console.log("hi"); 
    } 
    return { 
     tryIt: tryIt 
    }; 
} 
var foo = myFunct(); 
foo.tryIt(); 
+0

也許向代碼添加一些解釋? – Raidri