- 在经过一些AST处理后的混淆代码,会有一些变量或者函数显得多余,因为还原后,没有其他的代码来使用它们。作为一个有代码洁癖的人,怎么能容忍这样的垃圾代码横行霸道,显得格外刺眼。因此,除之而后快。 删! 删! 删! 统统删掉。作为一个会编程的人,手动一个个删,似乎有点掉价。 那不如来写个插件,一劳永逸。 插件功能 删除代码中没有被用到的变量,或者... 在经过一些AST处理后的混淆代码,会有一些变量或者函数显得多余,因为还原后,没有其他的代码来使用它们。作为一个有代码洁癖的人,怎么能容忍这样的垃圾代码横行霸道,显得格外刺眼。因此,除之而后快。 删! 删! 删! 统统删掉。作为一个会编程的人,手动一个个删,似乎有点掉价。 那不如来写个插件,一劳永逸。 插件功能 删除代码中没有被用到的变量,或者...
- 最近遇到了一个问题,就是 Vue.js 中的 prop 如何实现双向绑定比较好。 之前我都是把 prop 传递到子组件,然后子组件里面直接把 prop 直接改了,这样虽然能把结果反映到父组件,但并不是一个很好的解决方案。 比如我就经常遇到这样的 Warning: Avoid mutating a prop directly since the value wi... 最近遇到了一个问题,就是 Vue.js 中的 prop 如何实现双向绑定比较好。 之前我都是把 prop 传递到子组件,然后子组件里面直接把 prop 直接改了,这样虽然能把结果反映到父组件,但并不是一个很好的解决方案。 比如我就经常遇到这样的 Warning: Avoid mutating a prop directly since the value wi...
- 目录 1 什么是桥接模式 2 参与者 3 实例讲解 4 总结 1 什么是桥接模式 Bridge模式允许两个组件,即客户端和服务一起工作,每个组件都有自己的接口。Bridge是一种高级架构模式,它的主要目标是通过两级抽象来编写更好的代码。它有利于对象之间非常松散的耦合,有时也被称为双适配器模式。 桥接模式的作用在于将实现部分和抽象部分分离, 以便两者可以独立的变化... 目录 1 什么是桥接模式 2 参与者 3 实例讲解 4 总结 1 什么是桥接模式 Bridge模式允许两个组件,即客户端和服务一起工作,每个组件都有自己的接口。Bridge是一种高级架构模式,它的主要目标是通过两级抽象来编写更好的代码。它有利于对象之间非常松散的耦合,有时也被称为双适配器模式。 桥接模式的作用在于将实现部分和抽象部分分离, 以便两者可以独立的变化...
- 前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块。系卤煮自己总结的一些经验和教训。本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来。很难做到详尽充实,如果有好的建议或者不对的地方,还望不吝赐教斧正。 一、接口的流畅性 好的接口是流畅易懂的,他主要体现如下几个方面: 1. 简单 操作某个元素的 css 属... 前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块。系卤煮自己总结的一些经验和教训。本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来。很难做到详尽充实,如果有好的建议或者不对的地方,还望不吝赐教斧正。 一、接口的流畅性 好的接口是流畅易懂的,他主要体现如下几个方面: 1. 简单 操作某个元素的 css 属...
- 目录 1.什么是全局变量和局部变量 2.全局变量和局部变量的声明 2.1 全局变量的声明 2.2 局部变量的声明 3.全局变量和局部变量一些常见问题 3.1全局变量跟局部变量重名 3.2 零散变量的问题 3.3. 变量释放问题 总结: 1.什么是全局变量和局部变量 全局变量:常常... 目录 1.什么是全局变量和局部变量 2.全局变量和局部变量的声明 2.1 全局变量的声明 2.2 局部变量的声明 3.全局变量和局部变量一些常见问题 3.1全局变量跟局部变量重名 3.2 零散变量的问题 3.3. 变量释放问题 总结: 1.什么是全局变量和局部变量 全局变量:常常...
- 目录 1 什么是装饰器模式? 2 装饰器模式的主要参与者有哪些 3 代码实现 4 实例应用 5 ES7 中的 decorator 6 总结 1 什么是装饰器模式? 装饰器模式模式动态地扩展了(装饰)一个对象的行为,同时又不改变其结构。在运行时添加新的行为的能力是由一个装饰器对象来完成的,它 "包裹 "了原始对象,用来提供额外的功能。多个装饰器可以添加或覆盖原... 目录 1 什么是装饰器模式? 2 装饰器模式的主要参与者有哪些 3 代码实现 4 实例应用 5 ES7 中的 decorator 6 总结 1 什么是装饰器模式? 装饰器模式模式动态地扩展了(装饰)一个对象的行为,同时又不改变其结构。在运行时添加新的行为的能力是由一个装饰器对象来完成的,它 "包裹 "了原始对象,用来提供额外的功能。多个装饰器可以添加或覆盖原...
- 目录 1 函数的定义方式 1.1 函数声明 1.2 函数表达式 1.3 函数声明与函数表达式的区别 1.4 构造函数Function(了解即可,一般不用) 2 函数的调用方式 3 函数内 this 的指向 4 call、apply、bind 4.1 call,apply 4.1.1 新的函数调用方式apply和call方法 4.1.2 apply和cal... 目录 1 函数的定义方式 1.1 函数声明 1.2 函数表达式 1.3 函数声明与函数表达式的区别 1.4 构造函数Function(了解即可,一般不用) 2 函数的调用方式 3 函数内 this 的指向 4 call、apply、bind 4.1 call,apply 4.1.1 新的函数调用方式apply和call方法 4.1.2 apply和cal...
- 目录 1 什么是单例模式? 2 单例模式的作用和注意事项 3 代码实现 4 案例应用 4.1 使用单例模式管理命名空间 4.2 使用单例模式为不同命名空间的button按钮添加click事件,并且使他们之间能够互相通信 1 什么是单例模式? 单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果 ... 目录 1 什么是单例模式? 2 单例模式的作用和注意事项 3 代码实现 4 案例应用 4.1 使用单例模式管理命名空间 4.2 使用单例模式为不同命名空间的button按钮添加click事件,并且使他们之间能够互相通信 1 什么是单例模式? 单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果 ...
- 目录 1什么是Node 2Node.js安装 2.1官网下载 2.2安装 3Node.js快速入门 3.1Node.js组成 3.2Node.js基础语法 3.3Node.js中的全局对象global 4Node.js模块化开发 4.1JavaScript开发弊端 4.2 软件中的模块化开发 4.3 Node.js中模块化开发规范 4.4模块成员导出... 目录 1什么是Node 2Node.js安装 2.1官网下载 2.2安装 3Node.js快速入门 3.1Node.js组成 3.2Node.js基础语法 3.3Node.js中的全局对象global 4Node.js模块化开发 4.1JavaScript开发弊端 4.2 软件中的模块化开发 4.3 Node.js中模块化开发规范 4.4模块成员导出...
- 目录 1 学习目标 2 面向对象介绍 2.1 什么是对象 2.2 什么是面向对象 2.3 JavaScript 中面向对象的基本体现 3 JavaScript 如何创建对象 3.1 字面量方式 3.2 简单方式的改进:工厂函数 3.3 更优雅的工厂函数:构造函数 3.4 构造函数代码执行过程 3.5 构造函数和实例对象的关系 3.6... 目录 1 学习目标 2 面向对象介绍 2.1 什么是对象 2.2 什么是面向对象 2.3 JavaScript 中面向对象的基本体现 3 JavaScript 如何创建对象 3.1 字面量方式 3.2 简单方式的改进:工厂函数 3.3 更优雅的工厂函数:构造函数 3.4 构造函数代码执行过程 3.5 构造函数和实例对象的关系 3.6...
- 目录 一、递归 1.1 概念 1.2 出口 1.3 递归经典问题:递归求斐波那契数列 1.4 递归经典问题:递归求阶乘 1.5 递归求一个数字各个位数上的数字的和 1.6 递归遍历DOM树 二 深浅拷贝 2.1 浅拷贝 2.2 深拷贝 2.3 如何区分深拷贝与浅拷贝? 2.3.1 浅拷贝:仅复制了引用,彼此之间的操作会互相影响 2.3.2 深拷贝:在... 目录 一、递归 1.1 概念 1.2 出口 1.3 递归经典问题:递归求斐波那契数列 1.4 递归经典问题:递归求阶乘 1.5 递归求一个数字各个位数上的数字的和 1.6 递归遍历DOM树 二 深浅拷贝 2.1 浅拷贝 2.2 深拷贝 2.3 如何区分深拷贝与浅拷贝? 2.3.1 浅拷贝:仅复制了引用,彼此之间的操作会互相影响 2.3.2 深拷贝:在...
- B站视频:https://www.bilibili.com/video/BV1Kp4y167iX 十分钟实现炫酷透明计算器,CSS3+JavaScript实现3D炫酷计算器 今天带大家实现了一个炫酷的透明计算器,实现的过程中需要用到vanillatiltjs,一个平滑的3D倾斜javascript库,具体的使用和下载地址如下:https://micku7zu.g... B站视频:https://www.bilibili.com/video/BV1Kp4y167iX 十分钟实现炫酷透明计算器,CSS3+JavaScript实现3D炫酷计算器 今天带大家实现了一个炫酷的透明计算器,实现的过程中需要用到vanillatiltjs,一个平滑的3D倾斜javascript库,具体的使用和下载地址如下:https://micku7zu.g...
- 目录 1 什么是外观模式 2 外观模式的主要的参与者 3 代码实现 4 实例应用 4.1 跨浏览器事件 4.2 阻止默认和冒泡事件 5 总结 1 什么是外观模式 外观模式为子系统提供了一个接口,它屏蔽一个或多个子系统的复杂功,提供了一个一致的界面(接口)给用户。外观模式是一个非常简单的模式,但它的功能却很很强大,非常有用。外观模式不仅简化类中的接口,而且对... 目录 1 什么是外观模式 2 外观模式的主要的参与者 3 代码实现 4 实例应用 4.1 跨浏览器事件 4.2 阻止默认和冒泡事件 5 总结 1 什么是外观模式 外观模式为子系统提供了一个接口,它屏蔽一个或多个子系统的复杂功,提供了一个一致的界面(接口)给用户。外观模式是一个非常简单的模式,但它的功能却很很强大,非常有用。外观模式不仅简化类中的接口,而且对...
- 目录 1 什么是工厂方法模式? 2 工厂方法模式作用 3 工厂方法模式参与者 4 代码实现 1 什么是工厂方法模式? 在基于类的编程中,工厂方法模式是一种创建模式,该模式使用工厂方法来处理创建对象的问题,而不必指定将要创建的对象的确切类。这是通过调用工厂方法来创建对象的,而不是通过调用构造函数,该工厂方法在接口中指定并由子类实现,或者在基类中实现,并且可以选择由... 目录 1 什么是工厂方法模式? 2 工厂方法模式作用 3 工厂方法模式参与者 4 代码实现 1 什么是工厂方法模式? 在基于类的编程中,工厂方法模式是一种创建模式,该模式使用工厂方法来处理创建对象的问题,而不必指定将要创建的对象的确切类。这是通过调用工厂方法来创建对象的,而不是通过调用构造函数,该工厂方法在接口中指定并由子类实现,或者在基类中实现,并且可以选择由...
- 目录 1 什么是适配器模式? 2 参与者 3 实例讲解 4 其它应用 5 总结 1 什么是适配器模式? 适配器模式是将一个接口(对象的属性和方法)转换为另一个接口。适配器允许编程组件协同工作,否则由于接口不匹配而无法协同工作。适配器模式也称为包装器模式。 适配器模式可以想象为我们日常生活中经常使用的接口转换器,实现两个或者多个不同的数据存储器进行数据交换,... 目录 1 什么是适配器模式? 2 参与者 3 实例讲解 4 其它应用 5 总结 1 什么是适配器模式? 适配器模式是将一个接口(对象的属性和方法)转换为另一个接口。适配器允许编程组件协同工作,否则由于接口不匹配而无法协同工作。适配器模式也称为包装器模式。 适配器模式可以想象为我们日常生活中经常使用的接口转换器,实现两个或者多个不同的数据存储器进行数据交换,...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签