今天-零基础课的教学事故及全过程

2018-02-06 17:00:22 浏览数 (1)

有什么说什么,有错了就要认。

“今天我有个地方讲错了”,“然后我还说提出问题的同学有点过于纠结”。出问题要说清楚,来,事情是这样的。。。

截图一中,点击事件触发之后,要进行一个if判断,在这个if判断上一行,是一个三元选择符。我一边讲一边写代码一边录屏幕,讲到这里的时候,我想法是用这个三元的判断的值,来决定后面的代码是否执行。

我就一边写一边说,当_self.initbuyNum的值等于1,==比较运算符返回的值就是true,那么就返回false,否则返回true,写完代码之后就按f5刷新页面执行点击事件。

因为当时_self.initbuyNum的值确实等于1,那就不满足if( _self.initbuyNum > 1 )的条件,于是if判断中的语句没有被执行。

但当时我就进入了思维的死角,嘴里说着“返回”,下意识的认为是_self.initbuyNum == 1,然后三元判断返回false,使下面的js语句没有执行。而且在js中确实是return false 会停止执行js,我当时确实是这么想的,也是这么讲的。

然后有个远在新疆的同学就问我,“老尚,为什么return false可以停止js?”

我回答说,return false或是只有return,等于是函数返回结果了,这个函数自然就不再执行了。这个回答是没有问题的。

然后这个同学又问我,“那为什么return true也能停止函数?”

我回答说,这也是return 啊。

那这个同学又问我,那为什么三元判断里,false可以停止js执行,而true不会呢?

我想了想,确实是哈。我当时就说

截图中是我当时的原话,有录像为证的,零基础课的同学们都可以看到。当时吧,思路已经进入了错误的方向,所以我当时没想明白是什么原因。

下课之后,我静下心来想了想,“操,讲错了”。

我那行三元里根本没什么return语句,哪来的返回。代码截图那句三元根本没有起作用。

而接下来if没有起作用,是因为_self.initbuyNum的值大于1,不满足if条件,所以没有执行。

我当时错误的以为是三元比较结果的false了,而我当时是嘴里说着“返回false”,我脑子里就理解成return false了,所以认为是return。。停止js。

这是今天的教学事故的整个经过,拿出来跟大家说,主要也是为了警醒自己。有时,我有一种心态,就是我已经工作这么多年了,教教你们这些新人应该是没问题的。结果出现了今天的事情。

而且我还喷人家太纠结,哈哈,虽然那是我真实的看法。单独的讲,这个不要太纠结细节的说法应该也有一定的道理。但是和今天的讲课事故一起来看,就觉得有点太不像样。

哎,在这里跟全班同学们道个歉啊,对不起,请原谅。

0 人点赞