紫﹏色ふ单纯 2022-05-04 13:51:31
var a = 0;
if(true){
console.log(a);
a = 1;
function a(){};
a = 21;
console.log(a);
}
console.log(a);
大家可以帮忙看下这个题吗?第三个输出没搞懂为什么
紫﹏色ふ单纯 2022-05-04 13:37:04
@ZodiacSyndicate
这个写法想查112的时候不就查不出来了..
紫﹏色ふ单纯 2022-05-04 05:13:24
为什么React会选择先“标记”调用更新方法(setState, forceUpdate等)的节点及其祖先节点,然后再从root开始遍历呢?
首先,考虑在一次batching中(也就是浏览器触发一次回调),在冒泡的过程中可能多个节点都绑了事件,那么如果不用标记法,而去即时处理的话就会多次重复更新造成很大浪费,另外,由于冒泡是从子到父而更新是父及子更加会加重浪费;其次,在事件回调函数中,可能会调用dispatchEvent
而造成嵌套调用,与同一个事件触发多个回调的效果类似;最后,就算实际上只有一个节点及其子需要更新,造成的浪费也非常微乎其微,只有节点自身及其祖先的邻居节点会稍微遍历一下(如果是一个有很多tr的table,一个tr更新会导致其他tr都被遍历)。
- 共 1 页
- 1
遍历树
第 111 题:编程题,写个程序把 entry 转换成如下对象