时间:2021-05-26
分享一个Javascript编写函数的优化技巧。
适用的函数应该要满足以下条件:
产生固定结果
页面中多次调用
复杂或较耗时
代码和分析如下:
Java代码:
复制代码 代码如下:
//产生固定结果并且在页面中多次调用的函数
function check() {
//模拟耗时操作
var begin = Date.now(); //ECMAScript5添加的,若不支持请改成 +new Date();
var ONE_SECOND = 1000,
result = false;
while(true) {
if(Date.now() - begin >= ONE_SECOND){
result = true;
break;
}
}
//函数重写,直接返回结果
check = function() {
return result;
}
return result;
}
var firstBegin = Date.now();
check(); //第一次函数调用
var firstEnd = Date.now();
check(); //第二次函数调用
var secondEnd = Date.now();
console.log("第一次函数费时:" + (firstEnd - firstBegin) + "ms.");
console.log("第二次函数费时:" + (secondEnd - firstEnd) + "ms.");
显示结果如下:
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
这种结果的原因在于,Random()函数的默认种子是时间,但在循环中产生随机数时,由于运算速度太快,用做种子的时间是相同的(毫秒级),因此产生的随机数序列是相同
Eval函数计算一个表达式的值并返回结果。[result=]Eval(expression)参数result可选项。是一个变量,用于接受返回的结果。如果未指定结
Eval函数计算一个表达式的值并返回结果。[result=]Eval(expression)参数result可选项。是一个变量,用于接受返回的结果。如果未指定结
函数调用优化MySQL函数在内部被标记为确定性或不确定性。如果给定参数固定值的函数可以为不同的调用返回不同的结果,则它是不确定的。不确定函数的示例:RAND()
当快手小店商家和买家之间产生售后纠纷,会通过平台介入来解决。若是平台判定是商家责任后,如果商家对判定结果有异议,且符合相应条件时,可以“发送邮件&r