1、this
js函数中方的this在函数被调用之前是不确定的,this指向的是函数最后被调用的对象,例如:
可以看到,当第一次直接调用test('t1'),此时是window对象调用的,在调用方法之前window对象里没有fn_name属性,但是调用之后却多出来这个属性来;然后是通过obj来调用方法后,在obj方法里也有了这个属性。这就是通过this的作用做到的,它始终指向的是最后调用它的那个对象的。
2、prototype
注意:一下只是我个人的见解,需要详细了解prototype的可以看看这两篇文章:
https://blog.csdn.net/qq_42497250/article/details/92845285
https://blog.csdn.net/flyingpig2016/article/details/53048394
js中创建的每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象(原型对象),这个对象包含了通过调用该构造函数所创建的对象共享的属性和方法。
当用prototype来为函数添加了新的属性和方法后,这些属性和方法都将给由该函数创建的实例