2016-07-17 11 views
0
<button id="max" onclick="Application(document).maximum();">Maximum</button> 

lesen Während maximum Aufruf ich diesen Fehler:Uncaught Typeerror: kann Eigenschaft 'Maximum' undefinierter

Uncaught TypeError: Cannot read property 'maximum' of undefined

function Application(document) { 
this.maximum=function() { 
    document.getElementById("result-value").innerHTML=new StatisticsCalculator().maximum([1,2]); 
    } 
} 

ich beide enthalten (Application,StatisticsCalculator) js Dateien html file.Still das Problem zu bekommen.

Wie dieses Problem zu beheben?

+0

Fügen Sie '' new' Onclick = "neue Anwendung (document) .Maximum();' – guest271314

+0

Was sind Sie hier genau versuchen zu tun? Versuchen Sie, eine Funktion für das Klickereignis auszuführen? – Aron

+0

Sie müssen 'new' verwenden, um ein Objekt mit einem Konstruktor zu erstellen. Dies sieht jedoch wie ein völlig bedeutungsloses Muster aus, und Sie sollten wahrscheinlich "Maximum" stattdessen eine einfache alte Funktion (nicht auf einem Objekt) machen. Dann können Sie es mit 'addEventListener' in Ihrem Skript angreifen, anstatt das Attribut 'onclick' zu verwenden. – Ryan

Antwort

0

new einschließen vor Application() Aufruf

<script> 
 
    function Application(args) { 
 
    this.maximum = function() { 
 
     console.log(args) 
 
    } 
 
    } 
 
</script> 
 
<button id="max" onclick="new Application('maximum called').maximum();">Maximum</button>

alternativ

<script> 
 
    function Application(args) { 
 
    this.maximum = function(args) { 
 
     console.log(args) 
 
    } 
 
    } 
 
    
 
    var app = new Application(); 
 
</script> 
 
<button id="max" onclick="app.maximum('maximum called');">Maximum</button>

+0

"downvote" Beschreibung? – guest271314

+0

es funktioniert dank – salauddin

+0

Ich gab dies ein Daumen hoch .. weiß nicht, warum die Daumen runter war notwendig .. – Herter

Verwandte Themen