2017-04-06 58 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