今天想到一个对于virtual dom的重要改进方法:可以用高阶函数来预求值diff和patch,这样可以避免运行时间对View求diff和patch,因此性能会优化很大
太极真人 2014/12/14 9:32:43
就象微积分
太极真人 2014/12/14 9:33:46
微分函数是原函数的高一阶函数
9:35:49
太极真人 2014/12/14 9:35:49
View是初始状态连续依据diff应用patch,就是积分
太极真人 2014/12/14 9:36:49
先求微分再求积分也就复原了view函数
太极真人 2014/12/14 9:37:20
恒等式
9:44:00
寸志
2014/12/14 9:44:00
是那么回事,不知道怎么实现
9:46:30
太极真人 2014/12/14 9:46:30
先得让view函数可微
太极真人 2014/12/14 9:47:14
比如常数函数,线性函数
太极真人 2014/12/14 9:48:14
再求这些函数的组合函数的微分
9:48:48
太极真人 2014/12/14 9:48:48
比如if,for,repeat
太极真人 2014/12/14 9:50:34
如果实在无法预求值就fallback到现在的方式
9:51:22
太极真人 2014/12/14 9:51:22
还可以利用缓存机制
太极真人 2014/12/14 9:53:06
常数函数的微分是0,补丁就是空操作
9:55:31
太极真人 2014/12/14 9:55:31
{{x}}相当于线性函数,补丁就是加上差值,实际操作用新值更新就可以了
9:57:14
太极真人 2014/12/14 9:57:14
if则如果测试值不变,补丁就为空,否则用另一分支替换现有分支
太极真人 2014/12/14 9:58:40
repeat则根据模型值进行增删改
11:01:51
Sune
2014/12/14 11:01:51
太极真人厉害