ugrás a tartalomhoz

Archívum - Ápr 17, 2011 - Fórum téma

"switch case" vs "this"

Karvaly84 · 2011. Ápr. 17. (V), 02.03
Hello guruk!

Egy olyan apró problémám lenne, hogy JavaScript-ben csináltam egy class-t és ha az egyik metódusában használom a this kulcsszót egy switch case ágon belül akkor olyan mintha nem találná a this-t.

/**
 * A fent említett class problémás metódusa
 */
send : function send(){
    var method = this.method.toUpperCase(),
        client = this.client, 
        async  = (this.async) ? true : false,
        query  = (typeof this.query === 'object') ? http.query(this.query)
               : (typeof this.query === 'string') ? this.query : null;
    switch (method) {
        case 'GET':
            // Az alábbi sorban a this.url nem elérhető pedig be van állítva.
            var url = this.url + (query) ? '?' + query : '';
            client.open(method, url, async); client.send(null);
        break;
        case 'POST':
            var url = this.url;
            client.setRequestHeader('Content-type', this.contentType);
            client.open(method, url, async); client.send(query);
        break;
    }
}
Ha a switch-en kívűl kérem le a this.url-t akkor vissza adja. Valaki röviden elmondaná mért van ez így? Csak ha nem tartok fel senkit. :)