js中this指向小案例二

51 阅读1分钟
  • 在方法中,this 表示该方法所属的对象。
  • 如果单独使用,this 表示全局对象。
  • 在函数中,this 表示全局对象。
  • 在箭头函数中, 是没有this值的, 它沿着使用上一层作用域中的this指向
  • 在函数中,在严格模式下,this 是未定义的(undefined)。
  • 在事件中,this 表示接收事件的元素。
  • 类似 call() 和 apply() 方法可以将 this 引用到任何对象。
var length = 10
        function fn() {
            return this.length + 1
        }
        var obj = {
            length: 5,
            test1: function () {
                return fn()
            }
        }
obj.test2 = fn  // 将fn函数给obj.test2
console.log(obj.test1()) // 11 这里函数里面的this指向window
console.log(fn() === obj.test2()) //false  obj.test2 中的this指向obj, 所以值是6
console.log(obj.test1() == obj.test2() ) //false