this指向调用这个方法的实例对象
在浏览器中,直接定义一个方法,就是定义在window这个对象中,调用的其实是window.方法名(),但是由于在window环境下,所以window可以不用写;如果直接调用这个方法,this指向window
<script>function test(){console.log(this)}test()//和window.test()一样</script>
注:普通方法的this对象是window,new出来的方法this对象是这个对象
<script>function test(name){console.log(this)}var f = test('哈哈') //windowfunction Dog(name){this.name = nameconsole.log(this)}var dog = new Dog("牧羊") //dog</script>
<script>let dog = {name:'牧羊',say:function(){console.log('my name is' + this.name)}}dog.say() //this这个时候就是调用它的对象</script>
