Javascript 执行此操作的最快方法是什么?三元运算符?转换阵列?
执行此操作的最快方法是什么?左侧参数中的变量返回布尔值,它们表示窗口大小范围。(例如,对于1281及以上屏幕,Javascript 执行此操作的最快方法是什么?三元运算符?转换阵列?,javascript,performance,optimization,if-statement,ternary-operator,Javascript,Performance,Optimization,If Statement,Ternary Operator,执行此操作的最快方法是什么?左侧参数中的变量返回布尔值,它们表示窗口大小范围。(例如,对于1281及以上屏幕,o1281返回true,对于1025及以上屏幕,o1025返回true,等等) 我在想,也许可以根据中间(o641)条件将其分为两个范围 值得吗?好的,那么你要做的就是寻找第一个按降序排列的真值,一旦你找到了一个,你就在寻找第一个真值r值,它的名字是,人们怎么理解呢?什么是rxxx?r####值都是var。例如,它们可能是图像URL,数字越大表示分辨率越高的图像。omarkup是默认值。
o1281
返回true
,对于1025及以上屏幕,o1025
返回true
,等等)
我在想,也许可以根据中间(o641
)条件将其分为两个范围
值得吗?好的,那么你要做的就是寻找第一个按降序排列的真值,一旦你找到了一个,你就在寻找第一个真值r值,它的名字是
,人们怎么理解呢?什么是rxxx
?r####值都是var
。例如,它们可能是图像URL,数字越大表示分辨率越高的图像。omarkup
是默认值。它需要在DOM准备好并且在.resize
函数中出现(所以它会在浏览器窗口调整大小或智能手机旋转时出现)。在这里看到完整的内容:我意识到我可以简单地将三角形的最后两行合并到r0 | | omarkup;//0-319
因为在这一点上,我们知道我们低于320,我们知道这是唯一两个有效的值。@ryanve我明白了。是的,在调整尺寸和回流焊期间,效率非常重要。我在回答中添加了一条评论。很好/再次感谢。好的观点。(我在编辑它时肯定是在使用查找和替换:)我不认为需要再添加很多点,但可能需要添加一些。(这些是响应性设计的断点。)r值和三角形都在相同的中。每个函数(在调整大小的内部)。r值从数据属性和中提取。每个都需要检索并应用每个元素的值。尽管在实践中,只有一些属性会出现问题。一次使用。这确实是介于您拥有的和使用for循环计算值之间的某个地方。如果它符合您的性能标准,就可以了。一般规则是尽可能的可读性和可维护性,但是如果您遇到编译器无法帮助您的情况,并且您必须提高性能,那么就这样做。好吧,也许这是一个过于简单化的说法,但这是一个很好的起点。。。。无论如何,我认为公平地说,调试3、2、1、0比调试多个版本的12811025961641更容易
markup = // ternary triangle (the rows set the markup priority at each band)
( o1281 ) ? r1281 || r1025 || r961 || r641 || r481 || r320 || r0 || omarkup:
( o1025 ) ? r1025 || r961 || r641 || r481 || r320 || r0 || omarkup:
( o961 ) ? r961 || r641 || r481 || r320 || r0 || omarkup:
( o641 ) ? r641 || r481 || r320 || r0 || omarkup:
( o481 ) ? r481 || r320 || r0 || omarkup:
( o320 ) ? r320 || r0 || omarkup:
( o0 ) ? r0 || omarkup:
omarkup;
var sizes = [1281,1025,961,641,481,320,0]