티스토리 뷰

Invoke a property


    alert(this); //window

    var a = {
        b : function(){
            return this;
        }
    };

    a.b(); //a;

    a['b'](); //a;

    var c = {};
    c.d = a.b;

    c.d() //c

Invoke a variable


var a = {
    b : function() {
        return this;
    }
};

var foo = a.b;
foo() // window

var a = {
    b: function(){
        var c = function() {
            return this;
        }
        return c();
    }
};

a.b(); //window

var a = {
    b : function() {
        return (function() { return this;})()
    }
};

a.b();

Invoke using Function.prototype.apply

    var a = {
        b: function(){
            return this;
        }
    };

    var d = {};

    a.b.apply(d); //d
    
    //Invoke a constructor using new
    var A = function() {
        this.toString = function(){ return "I'm an A"};
    };

    new A(); "I'm an A";

    //Evaluation context
    alert(eval('this==window'));

    var a = {
        b : function() {
            eval('alert(this==a)');
        }
    };

    a.b(); // true;

'웹개발 > Javascript' 카테고리의 다른 글

Javascript Namespace 정리  (0) 2010.12.14
Javascript RegEx Api  (0) 2010.12.14
자바 스크립트 String 메서드 Split , Join 사용 예  (0) 2010.12.14
자바스크립트 여러가지  (0) 2010.09.10
자바스크립트 With Statements  (0) 2010.09.10
댓글
댓글쓰기 폼