什么"这"指向方法的子功能?

时间:2015-05-07 07:54:07

标签: javascript this

我写了一个人为的剧本,说明了我不理解的内容:

                var Grid = $("#Passenger").data("kendoGrid");
                            var datasource = Grid.dataSource;

                            datasource.add({
                                PassengerID: response.PassengerID,
                                Name: response.Name
                            });
                            datasource.sync();

在sub_function中,我期待"这个"由于关闭而引用对象newObject,但控制台上的输出是

var newObject = {}
newObject.testAttribute = "I'm newObject";
newObject.someMethod = function(){
    console.log(this.testAttribute);
    var sub_function = function(){

        console.log(this.testAttribute);   
    }
    sub_function();
}
newObject.someMethod();

1 个答案:

答案 0 :(得分:0)

this代表一个上下文。除非您直接指定,否则每个函数都有自己的上下文,例如

this.myfunction = function(){}

myfunction.bind(this)

您可以了解更多here