单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 在 JavaScript 开发中,有一些对象只需要一个。比如单击登录按钮,页面会出现登录对话框,并且是唯一的...
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 在 JavaScript 开发中,有一些对象只需要一个。比如单击登录按钮,页面会出现登录对话框,并且是唯一的...
1. 编译原理 传统的编程语言,在程序运行之前都需要进行编译,主要分为三个步骤: 第一阶段: 分词/词法分析(Tokenizing/Lexing)这个过程会将由字符组成的字符...
提升 JavaScript 在执行之前,会先进行编译。如下代码: 当执行到这段代码时,会进行两次声明。定义声明时在编译阶段进行,赋值声明会留在原地等待执行阶段。实际代码执行顺...
this 是 JavaScript 中一个比较特殊的关键字,它的机制比较复杂,会被自动定义在函数的作用域中,表示函数执行时的上下文对象。 如果不存在 this 的话,在函数执...
本篇文章主要介绍 JavaScript 中几个常用的内置值类型。 1. 数组 JavaScript 中,数组可以容纳任意类型的值,可以是 string、number、obje...
JavaScript 的七种内置类型: 空值(null) 未定义(undefined) 布尔值(boolean) 数字(number) 字符串(string) 对象(obje...
Iterator 迭代器 迭代器(Iterator)接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理...
语法(grammar) 本篇文章中主要探讨 JavaScript 中一些容易让人产生困惑、误解的语法。 1. 语句(statement)和表达式(expression) 在计...
类型转换:type casting,值从一种类型转换为另一种类的操作。 类型转换发生在静态类型语言的编译阶段,而强制类型转换则发生在动态类型语言的运行时,在 JavaScri...
将一个 JavaScript 对象或值转换为 JSON 字符串。如果指定了一个 replacer 函数,则可以选择性地替换值,或者指定的 replacer 是数组,则可选择性...
JSON.parse() 方法用来解析 JSON 字符串,将字符串解析为 JavaScript 值或对象。JSON.parse() 接收两个参数,第一个是需要解析的字符串,第...
JSON 概述 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,用来序列化对象、数组、数值、字符串、布尔值和 null。 JS...
CSS 引入伪类和伪元素概念是为了格式化文档树以外的信息。伪元素和伪类都不会出现在源文档或者文档树中伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档数外的元素。 ...
1. 长度(length)单位 长度单位主要分为两种,相对和绝对。 相对长度单位 基于其它元素的长度。例如 em 基于该元素的字号大小,vh 则与设备视口的高度有关。 绝对长...
自定义属性(CSS 变量或者级联变量)是由 CSS 作者定义的,它包含的值可以在整个文档中重复使用。自定义属性标记设定值(比如:--main-color: black;),由...
简写属性是可以同时设置好几个 CSS 属性值的 CSS 属性。这样可以使编写更简洁、更有可读性。 1. 简写属性注意情况 1.1 没有指定的值会被设置为初始值 如下样式,ba...
假定用户正面向(浏览器)视窗或网页,而 HTML 元素沿着其相对于用户的一条虚构的 z 轴排开,层叠上下文就是对这些 HTML 元素的一个三维构想。HTML 元素基于其元素属...
BFC(Block Formatting Context)就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也是如此。包括浮动,和外边距合并等等,因此...
包含块:指元素最近的祖先块元素(inline-block, block 或 list-item 元素)的内容区。 包含块的影响 元素的尺寸及位置,常常会受它的包含块所影响。 ...
块的上外边距(margin-top)和下外边距(margin-bottom)有时合并(折叠)为单个边距,其大小为单个边距的最大值(或如果它们相等,则仅为其中一个),这种行为称...