2017-02-24 8 views
-3

ich so ein eingeschlossenes habe Javascript zu nennen (und es kann nicht sein, bearbeitet)JavaScript-Funktion innerhalb Funktion implementieren direkt

db.profile.loadInitProperties({ 
    "url": "http://www.google.com", 
    "path": "/search", 
    "temp": true, 
}); 

so dass ich meine eigene Funktion mache es aber nicht Glück arbeiten.

function db(profile) { 
    this.profile = function (properties) { 
     this.properties = function (string) { 
      //do sth 
     } 
    } 
} 

immer erhalten "TypeError: db.profile.properties is not a function".

Gibt es trotzdem, damit es funktioniert?

+2

was willst du genau machen ?? Was meinst du mit (kann nicht bearbeitet werden)? – spankajd

+0

Möchten Sie eine [Klasse in Javascript] erstellen (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes)? Ich stimme @spankajd zu - diese Frage ist vage und ich habe Schwierigkeiten, genau zu verstehen, was Sie suchen ... –

+0

im neuen Javascript tut mir leid. @anied Ich möchte nur Informationen von db.profile.loadInitProperties (dieser Code ich aus einer anderen Domäne enthalten, so dass ich keine Berechtigung zum Bearbeiten haben). vielleicht erstellen Klasse oder Objekt mit diesem Anruf übereinstimmen, aber ich weiß nicht wie. –

Antwort

0

In JavaScript ist eine Klasse grundsätzlich eine Funktion. Wenn Sie eine Funktion haben und sie lieber als Objekt als als Funktion verwenden möchten, müssen Sie zuerst ein Objekt neu erstellen.

function db(profile){ 
    this.profile = profile; 
} 
var _db = new db(profile); 
console.log(_db.profile); 

Wenn Sie nur db.profile aufrufen, wird dies nicht funktionieren.

+0

Tks für die Antwort. aber alles, was ich brauche, ist, Informationen zu erhalten, wenn db.profile.loadInitProperties ausgeführt wird. aber kann nicht wissen, wie man es umsetzt –

Verwandte Themen