js惰性函数

简介: js惰性函数

js中我们可以使用惰性函数,用于重新定义函数自身的行为

例如:

function addEvent(type, el, fn) {
  if (window.addEventListener) {
    addEvent = function(type, el, fn) {
      el.addEventListener(type, fn, false);
    }
  } else if (window.attachEvent) {
    addEvent = function(type, el, fn) {
      el.attachEvent('on' + type, fn);
    }
  } else {
    addEvent = function(type, el, fn) {
      el['on' + type] = fn;
    }
  }

  addEvent(type, el, fn);
}

// 第一次调用会进行环境判断,之后的调用就会直接使用适合当前环境的函数实现
addEvent('click', document.getElementById('myElement'), function() {
  console.log('Element clicked');
});

这样做的好处是避免了每次都重复判断当前环境,例如浏览器厂商类型、内核版本等

相关文章
|
12天前
|
JavaScript 前端开发
JavaScript 函数语法
JavaScript 函数是使用 `function` 关键词定义的代码块,可在调用时执行特定任务。函数可以无参或带参,参数用于传递值并在函数内部使用。函数调用可在事件触发时进行,如用户点击按钮。JavaScript 对大小写敏感,函数名和关键词必须严格匹配。示例中展示了如何通过不同参数调用函数以生成不同的输出。
|
14天前
|
存储 JavaScript 前端开发
JS函数提升 变量提升
【10月更文挑战第6天】函数提升和变量提升是 JavaScript 语言的重要特性,但它们也可能带来一些困惑和潜在的问题。通过深入理解和掌握它们的原理和表现,开发者可以更好地编写和维护 JavaScript 代码,避免因不了解这些机制而导致的错误和不一致。同时,不断提高对执行上下文等相关概念的认识,将有助于提升对 JavaScript 语言的整体理解和运用能力。
|
23天前
|
JavaScript 前端开发
js教程——函数
js教程——函数
21 4
|
22天前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
14 2
|
25天前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
22 5
|
24天前
|
JavaScript 前端开发
Node.js 函数
10月更文挑战第5天
19 3
|
28天前
|
前端开发 JavaScript
探索JavaScript函数基础
探索JavaScript函数基础
16 3
|
29天前
|
JavaScript 前端开发
在JS中如何声明一个函数
在JS中如何声明一个函数
24 2
|
17天前
|
存储 JavaScript 前端开发
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
14 0
|
28天前
|
前端开发 数据可视化 开发者
D3.js 内置的动画函数
D3.js 内置的动画函数