建设银行儿童网站,快看点自媒体平台注册入口和下载,织梦高端大气网站模板,小目标网站建设一.重点来了#xff0c;this指向问题#xff1a;1.this指向之普通函数。 2.this指向之对象 3.this指向之构造函数 4.this指向之#xff08;call,apply#xff09;动态更改this指向。 二.具体分析如下 1.普通函数 // 第23行的调用者为null,this指向也为null,// 所以这时js把…一.重点来了this指向问题1.this指向之普通函数。 2.this指向之对象 3.this指向之构造函数 4.this指向之call,apply动态更改this指向。 二.具体分析如下 1.普通函数 // 第23行的调用者为null,this指向也为null,// 所以这时js把this指向了window对象,所以弹出的结果是// n,这样不好的是会污染全局函数内带this的操作不能直接调用; 2.对象 // 第34行是对象的say方法指针指向了一个存在的函数say();// 所以在35行函数执行,弹出nihao,其实就是调用了ob对象的say()方法,所以// 这时的this指向的就是ob这个对象.// 在37行时ob对象的say()指向的指针又赋给ob1对象的say()了,// 所以ob1对象的say方法也指向了那个存在的函数say();// 38行执行的结果是弹出yes,this指向的是ob1这个对象; 3.构造函数 // 50行得到了一个新对象this指向该新对象// 当new的一瞬间// 1.会创建一个空对象,方法的this指向该空对象;// 2.会运行方法// 37行:{}.namename;// 38行:{}.ageage;// 3.返回该对象 4.callapply // 61行出现了一个低级错误认为通过类名就能得到那个dom对象,// 其实不是得到的是一个集合,需要通过数组的方式来得到dom对象.constructor// 69行this指向了test1这个dom对象;// 知识点:call和apply区别// 1.函数名.call(对象,参数1,参数2,...);函数名.apply(对象,[参数1,参数2,...]);// 2 把函数的this,指向对象// 3.运行函数,传参为参数1,参数2,....; 三 欢迎指出错误一起学习转载于:https://www.cnblogs.com/zhuzhu88/p/6648626.html