猿问

对象的方法中 setTimeout作用

        var a=0;

         var obj = {

             a:'obj',

             b:function(a){

                 console.log(this.a);

             }

         }

         obj.b(1);//obj                   (1)

        obj.b.call(this,1);//0           (2)

        obj.b.apply([1]);//undefined     (3)

         var a=0;

         var obj = {

             a:'obj',

             b:function(a){

                 setTimeout(function(){

                     console.log(this.a);

                 },1000)

             }

         }

         obj.b(1);//0                    (4)

        obj.b.call(this,1);//0           (5)

        obj.b.call(1);//0                (7)

        obj.b.apply([1]);//0             (8)

        obj.b.apply(null,[1]);//0        (9)

        obj.b.apply(this,[1]);//0        (10)

问题一:比较(1)和(4),setTimeout所起的作用是什么呢?
问题二:比较(3)和(8),为何(8)中就有值,而(3)没有?
问题三:为何传入值没有任何作用?

皈依舞
浏览 754回答 0
0回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答