适用于一些判断条件不会轻易变化的情况,比如浏览器是否支持某接口,或者用户是否为vip等,这样可以防止函数在每次调用时都进行条件判断,浪费不必要的性能
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<button class="btn1" onclick="onclick1('haha')">点我运行惰性函数</button>
<button class="btn2" onclick="verify()">点我检查惰性函数</button>
<script>
const flag = true;
function onclick1(value) {
if (flag === true) {
onclick1 = (value) => {
console.log("我是flag为true时打印的数据:", value);
};
} else {
onclick1 = (value) => {
console.log("我是flag为false时打印的数据:", value);
};
}
onclick1(value);
}
function verify() {
console.log(onclick1);
}
</script>
</body>
</html>