JavaScript 工厂方法创建对象
在 JavaScript 中,可以使用工厂方法(Factory Method)创建对象。工厂方法是一种创建对象的设计模式,它通过一个函数来封装对象的创建过程,并返回新创建的对象。
下面是一个简单的示例,演示如何使用工厂方法创建对象:
1 | // 定义一个工厂方法 |
JavaScript 作用域
作用域简单来说就是一个变量的作用范围。 在 JavaScript 中作用域分成两种:
全局作用域
- 直接在 script 标签中编写的代码都运行在全局作用域中
- 全局作用域在打开页面时创建,在页面关闭时销毁
- 全局作用域中有一个全局对象 window,window 对象由浏览器提供,可以在页面中直接使用,它代表的是整个的浏览器的窗口
- 在全局作用域中创建的变量都会作为 window 对象的属性保存
- 在全局作用域中创建的函数都会作为 window 对象的方法保存
- 在全局作用域中创建的变量和函数可以在页面的任意位置访问,在函数作用域中也可以访问到全局作用域的变量。
- 尽量不要在全局中创建变量
JavaScript 匿名函数的直接调用
在 JavaScript 中,可以使用匿名函数的直接调用(Immediately Invoked Function Expression,IIFE)来立即执行函数。
下面是一个使用匿名函数直接调用的示例:
1 | (function() { |
在上面的示例中,我们使用 (function() { … })() 的语法来创建一个匿名函数,并立即调用它。函数体内的代码会立即执行。
CSS 之 BEM 命名规范
CSS BEM(块元素修饰符)是一种命名约定和方法论,用于在编写可维护和可扩展的 CSS 代码时提供结构和规范。它的目标是解决样式表的命名冲突问题,并提供一种一致性和可重用性的编码方式。
BEM 的命名约定由以下三个部分组成:
块(Block):代表一个独立的、可重复使用的组件或模块,它是页面上的一个独立单元。块的命名应该简洁、清晰,并用一个单词或短语表示,使用连字符分隔单词(例如:button、header)。
元素(Element):代表块的内部元素,它们不能独立存在,必须作为块的一部分存在。元素的命名应该以块的名称为前缀,用两个连下划线 ** 进行分隔(例如:button**text、header__logo)。
修饰符(Modifier):代表块或元素的不同状态或变体。修饰符是可选的,可以通过改变外观、行为或状态来扩展块或元素。修饰符的命名应该以块或元素的名称为前缀,用两个连短划线 – 进行分隔(例如:button–primary、header–fixed)。