活在当下
活在当下
这是一个闭包,闭包它的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。 这里的局部变量i,对f1()来说是全局变量,对f2()来说也是全局变量,但是f1()的i跟f2()的i又是相互独立相互不可见的,f1()每执行一次,f1()的i就加一,f2()每次执行一次,f2()的i就加油,但是相互之间不影响,因此结果是010
NO.2 ```javascript var obj ={a:1,b:function () {alert(this.a)}}; var fun =obj.b; fun(); ```
this的行为有时候会显得极其诡异,让人感到困惑,但只需要记住 this的值要等到代码真正执行时才能确定 同时this的值具体有以下几种情况: new 调用时指的是被构造的对象 call、apply调用,指向我们指定的对象 对象调用,如执行obj.b(),this指向obj 默认的,指向全局变量window(相当于执行window.fun()) 这样看来,当你执行fun()的时候,以上1,2点均不满足。 第3点,因为this是运行时确定的,而我们执行fun(),等同于windown.fun()(与obj没有任何关系),自然的this指向window,而window没有定义变量a,结果是undefined。
说的很好啊。 说问题切入场景,好感能提升很多。
**我加一条可能会问到的** 正常情况下,当组件发生更新时,组件的生命周期方法的调用顺序 ? `componentWillReceiveProps -> shouldComponentUpdate -> componentWillUpdate -> render -> componentDidUpdate`
追加: 组件render的次数跟浏览器界面更新次数有什么关系?
> @xie991283109。 怎么理解componmenWillUpdate 跟另一个已经启用,尽量不要用 One of the biggest lessons we’ve learned is that some of our legacy component lifecycles tend to encourage unsafe coding practices. They are: componentWillMount componentWillReceiveProps componentWillUpdate...
> react 总结起来就是挂载。更新。卸载,vue 看起来多了一步create,如何解释这个流程比react多的好处呢。或者说他的作用比react多了什么? 用的vue不多,望解释😅 你觉得created 做了什么其他操作么? 我觉得你可能更需要这个问题 Vue为什么没有shouldComponentUpdate的生命周期?
追加2: Vue为什么没有shouldComponentUpdate的生命周期?
> > 追加: 组件render的次数跟浏览器界面更新次数有什么关系? > > 组件render一次, 浏览器就会渲染一次 > 组件首次render的时候, DOM是一个从无到有的过程, 后面组件每次更新, 因为React用的虚拟dom, 采用了diff算法, 所以每次render的时候, 浏览器只会对被改变了的元素进行局部更新. 你可以写react 的demo 试试 再说哦 -。-