00:00
这个主要是我们去研究一下函数中的this到底是什么。嗯,认识它到底是什么呢?如何来判断,先因为大家这个讲过,所以呢,我先把那个测试的代码,我看一下测试代码有没有呢。我把这个测试代码拿过来。不用写啊,主要是你来看一下这都是谁。都看懂了就没问题,来给大家读一遍啊,不过呢,我先把这些输出给他放开。首先这里有个函数是吧?啊,定义了一个行差,现在我在这里面去打印那个this,也就是说谁来调用过程呗。是吧?This是破什么?是是不是不是this代表的是谁来调用我这个POS嘛,好,接下来我给瑞士添加了一个color,给瑞士添加了一个。
01:00
是不是一个方法呀啊get color,给this添加了一个color,这这代码挺简单的吧,啊,没什么太多的好,下面我们第一步。执行这个破,那是不是会执行这些代码,我问大家先说我执行它有几个输出。一共我这里面一共是不是有三个输出,一共有三条输出语句,这三条输出语句有几条会执行。这个都不知道吧。就我问的,我涉及的问题就这么高深莫测吗?我现在不是执行这个函数,你你别被有人说老师你这是个勾的函数,你怎么这么教我有点受不了了。这就是个函数嘛,为啥不能这么调呢?我调它是不去执行这里面所有语句吧,我那你说我执行这条语,执行这输出,那肯定知道是吧?那下面个问题就是这两个输出会不会执行?当然不会啦,我又没有调用这个函数,怎么可能执行呢?那不就一条吗?
02:13
反正大家是不屑于回答,我发现发现这个问题实在太简单了。好,那现在this是谁?啊是吧,行来我写出来啊。原理是吧?好,下面一个若了,一个P等于六一个person损,请问。哪几个输出语句会执行?一个都不信。看看几个一个这这个不是一样的吗?也是一样去执行所有的代码,对吧,只是this还是window吗?那是谁呢?是不是减起来就不是就P嘛,也就是我六出这个对象吗。
03:12
对吧,实际上说P了不太都不太对,因为真正去溜它的时候,这个P这个根本就没跟P关联,但是说P是没问题的,因为P指向这个对象。是吧,嗯,好,来下面p.get看了。是不是执行他呀,那执行他,请问瑞是谁呀。行。这个还用想吗?那肯定是P嘛,这很明确了,这不是他调用的吗?是吧?好,下面这一个里面是不是会执行,执行的是水哦,大家看一下,这个非常有意思,你说谁会被执行。我现在咨询的是哪个函数,我有那看不懂啊。
04:06
PP是不是我看p.set看是不是得到这个函数啊,下面我函数是不是去可以调用括吧,调用括的话是不是相当于让我这个函数成为什么OB接临时的方法进行调用吧?那请问Z是谁OB吗?能理解吧,有的同学可能就说,老师你要这么写,你要这么写,老师我就看得懂,你要加那个P点,我就看不懂啊。我还是那一回事,大家一定要啊,先知道这个语法上面最终得到的是一个什么东西,它的类型是什么。也就是说,前面我们做的准备工作非常的关键啊。好,下面再来一个P点,是来看得到什么,是不是它所保存的这个函数,接着我等于负值给这个T。
05:14
那接着我叫T。瑞是谁?为什么是window,是不是直接掉了呀?OK,好,下面这里面有个意思来看到外面有个函数放一,里面有个函数方二,打印输出this意思啊,里面的调用方案,外面调用方案一,请问我执行以后这个this是谁?Window是吧?好,那下面我们要说一个事啊,再说一个位,那this是什么呢?现在说的意思啊,外部this没什么好判断呢,是不是就是window啊,函数外面全局全局的这个this是window,那没什么意思啊,研究起来主要说的是函数中的this是谁。
06:05
首先啊,认识是我定义的嘛。是不是内部它就拥有了一个变量,能不懂啊,所有函数内部都有,都可以,都有什么一个变量叫什么this。那它的值是,它的值是什么。它的值是调用当前函数,调用函数的当前对象,不知道大家能不能懂,能懂这个意思吗?但首先得说一个事情,其实在说这句话之前,先得说一件事情。任何函数。
07:02
呃,任何函数。什么呢?本质上都是通过某个对象来调用的。也就是说白了就是函数必须通过对象来调用,那有的同学可能就因为这句话就受不了了,老师那明显我这也没有指定谁来调啊,我说的是本质上面,最终它都是通过某一个对象来调用。只是说是你明确指定的,还是他背后指定的?能理解吧,如果是你明确指定的,这个很好说是吧,你指定的嘛,那个意思当然是你指定的一个对象吗?是不是,但如果你没有指定呢。如果你没有资金,谁来调查是不是温?
08:01
啊,这个地方说是如果没有指定就是什么。就我没有直接指令,如果没有直接指定。嗯。啊,这个大家应该要清楚,其实啊来大家看了这里面所有的,其实有了这个基本的判断的条件,其实大家都很好判断,这明显一看我没有这闻着是吧,我这个六子弟。是谁?其实我有指定吗?六的方式指令,大家想这个实际上我是不是指定的是当前对象来调了。能不能理解啊,让啊当前六的对象来调了好下面这一个呢,是不是P来掉了。是吧,而这个谁来调?谁来调obj来调呢?这个是来看法法,那这个来调谁来调。
09:06
Window吧,为什么是window啊,我没有指令,这一个是谁呢?是谁是温柔啊,能不懂?如果你没有指定,那它就是什么温柔。OK,这个大家应该要清楚啊,就是说其实啊这个啊,这个可以放在下面。就如何去确定它里面的,呃,那个this啊,这就无非就无非就几种方式,比如说我们举个例子啊,我们开始的方式这是什么。那是谁?Window还有什么p.tEST调用函数分就这几种方式是吧?是不是P还是什么?六、test是谁?是不是新建的对象?
10:06
创建的对象还有什么?P点括我派不写啊,这谁OB就这些方式挺好判断的。还别的吗?暂时来说没有,但实际上后面还有啊,只是我们还没讲。嗯。其实要判断起来也并不难,因为就这几种形式嘛。OK,好,这里面呢,我们就给大家去说了一下函数中的意思,如果大家都能判断出来,基本上就没什么问题。嗯,大家不要把这个事情也想的太复杂,其实也非常简单。
我来说两句