Javascript当方法参数类型为function时的this指向问题

谢邀。这有什么问题吗?this是什么只取决于调用时,与变量作用域只取决于定义时刚好想到。无非就是调用执行函数时,“.”前面是什么,this就是什么。前面光秃秃时,就是window了。而“”语法本来就和“.”语法的功效一致,arguments“相当于”arguments.0。
■网友
一直在学习JS,这个问题我试着跟你解释一下。JS 中this的指向是在执行过程中确定的。你定义的obj对象里,有一个fun 属性(property), 而这个 fun的值是个函数,在这个函数内部执行的func()里的this,是没有绑定的,如果this没有绑定的话,在浏览器环境中,this就会指向window对象。像在匿名函数中直接输出this的话,得到就是window。接下来输出的this指向的就是obj对象,this绑定在了obj对象上。最后一句语句,其实你可以这么理解(只是帮助你理解):var arguments = ,arguments();在这里this绑定的是arguments对象,因为fun里只传进了一个func,所以this.length 的值为1。


    推荐阅读