在线富文本编辑器初探

2022-04-27
阅读 2 分钟
6k
在线富文本编辑器是用于在 Web 浏览器中编辑文本的界面,它为用户呈现所见即所得(WYSIWYG)的编辑区域。它的优势是充分利用 HTML 的丰富表现能力,减少用户对文本格式转换的工作量。这里的富文本是相较于纯文本而言,与纯文本不同的是它具有样式、排版等信息。
封面图

Vue 响应式原理

2022-03-06
阅读 6 分钟
2.3k
Vue 最独特的特性之一,是非侵入式的响应系统。数据模型仅仅是普通的 JavaScript 对象。而当你修改它们时,视图会进行更新。聊到 Vue 响应式实现原理,众多开发者都知道实现的关键在于利用 Object.defineProperty , 但具体又是如何实现的呢,今天我们来一探究竟。
封面图

深入浅出 Angular 变更检测

2022-02-05
阅读 5 分钟
7k
Angular 中的变更检测是一种用来将应用程序 UI 的状态与数据的状态同步的机制。当应用逻辑更改组件数据时,绑定到视图中 DOM 属性上的值也要随之更改。变更检测器负责更新视图以反映当前的数据模型。阅读本文之前,建议先查看我的前两篇和变更检测紧密相关的博文,即《 揭秘Angular 生命周期函数》 和 《 Angular 之 zon...

Angular 之 zone.js 介绍

2022-02-02
阅读 4 分钟
2.7k
或许你听说过 Angular 使用了zone.js, 但 Angular 为什么要使用zone.js, 它能够提供哪些功能呢?今天我们单独写一篇文章聊聊zone.js,关于它在 Angular 框架中发挥的作用将在下一篇文章讲述。

Angular 依赖注入原理

2022-01-25
阅读 4 分钟
2.2k
依赖注入是 Angular 的一大特性,通过它你能够写出更加易于维护的代码。但 JavaScript 语言本身并没有提供依赖注入的功能,那么 Angular 是如何实现依赖注入功能的呢?阅读本文,你就能够找到答案了。

前端构建工具对比

2020-09-20
阅读 1 分钟
3.2k
上文介绍过前端模块化的发展,但是它们都有一个共同点:源代码无法直接运行,必须通过转换后才可以正常运行。 构建就是做这件事,将源代码转换成可执行的JavaScript、CSS、HTML代码,包括如下内容:

前端模块化的发展

2020-09-19
阅读 1 分钟
1.9k
近年来Web应用变得更加复杂与庞大,Web前端技术的应用范围也更加广泛。通过直接编写JavaScript、CSS、HTML开发 Web 应用的方式已经无法应对当前 Web 应用的发展

Angular如何由模板生成DOM树

2019-12-22
阅读 3 分钟
2k
这种模板写法并不是HTML原生支持的,那么Angular又是如何转换这些代码,并显示成我们期望的界面呢? 首先我们来看看Angular把上述代码编译成什么样子:

Go语言的类型系统

2018-07-31
阅读 3 分钟
1.9k
我们用关键字var创建了类型为user且名为zuckjet的变量。当声明变量时,这个变量对应的值总是会被初始化。这个值要么是用指定的值初始化,要么用零值来初始化。对数值来类型来说,零值是0;对字符串来说,零值是空字符串。下面我们来看一下如何声明一个user类型的变量,并使用某个非零值作为初始值。

跨站脚本攻击XSS

2018-03-18
阅读 1 分钟
2.7k
跨站脚本攻击,英文全称是Cross Site Scrit,本来缩写是CSS,但是为了和层叠样式表(Cascading Style Sheet, CSS)有所区别,所以在安全领域叫做"XSS".

浏览器安全之同源策略

2018-03-18
阅读 2 分钟
3.7k
同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能会受到影响.可以说Web是构建在同源策略的基础之上的,浏览器只是针对同源策略的一种实现.

浏览器工作原理

2018-03-17
阅读 1 分钟
2k
浏览器的主要功能就是向服务器发出请求,在浏览器窗口展示您选择的网络资源.这里所说的资源一般是指HTML文档,也可以是PDF,图片或其他的类型.浏览器解释并显示HTML文件的方式是在HTML和CSS规范中指定的.这些规范由网络标准化组织W3C进行维护.浏览器的用户界面有很多彼此相同的元素,其中包括:

网络的全貌

2018-03-17
阅读 2 分钟
1.8k
首先我们来看一下浏览器访问Web服务器这一过程的全貌.访问Web服务器并显示网页这一过程包含了浏览器和Web服务器之间的一系列交互,主要是下面这样的交互.

clientWidth offsetWidth等视窗尺寸

2018-03-09
阅读 3 分钟
6.5k
是一个只读属性,返回一个元素的布局宽度。一个典型的offsetWidth是测量包含元素的边框、水平线上的内边距、竖直方向滚动条(如果有的话)、以及CSS设置的宽度(width)值。用法:var offsetWidth = element.offsetWidth;

由float引发的思考

2018-03-07
阅读 4 分钟
1.8k
最近工作中不时会遇到float使用问题,由于CSS是一系列属性叠加的结果,float经常会和BFC,外边距折叠等一起出现,故而原本简单的问题却让人老是觉得迷糊,本文记录一下float的使用以备日后查阅.首先我们来看一下最基本的代码:

IndexedDB

2018-02-22
阅读 2 分钟
2k
IndexedDB是一个功能强大且高度灵活的存储系统,你可以使用它在用户浏览器中存储你希望存储的任何数据。不过,出色的功能和灵活性致使其API不像Web存储那么友好。你还会发现,移动端浏览器对IndexedDB的支持还不是很友好,即使支持。

Web存储

2018-02-22
阅读 1 分钟
2k
通常我们所说的本地存储技术,就是Web存储。Web存储有两个版本:本地存储(Local Storage)和会话存储(Session Storage).两者使用完全相同的API,但本地存储会持久存在(或直到用户清除),而会话存储只要浏览器关闭就会消失。和Cookie类似,Web存储是与域名一一对应的。和Cookie不同的是,无法让app.foo.com使用www.foo.com...

使用cookie

2018-02-14
阅读 2 分钟
2.1k
虽说在现代Web开发过程中讨论Cookie有些不合时宜,但是这是开发人员如今可以使用的最古老、最稳定的客户端存储形式。当然,我们并不推荐使用Cookie,只是说它是一种选择。

客户端数据存储概述

2018-02-14
阅读 1 分钟
2.4k
过去十年中,浏览器已经发展成为一个强大的工具。这是一个缓慢的过程,伴随着许多成长之痛。现在,增强型布局控件、3D图形和游戏,甚至是音乐都可以在小而古老的浏览器中实现。客户端数据存储是一个更加令人兴奋的特性。

二分查找

2018-02-11
阅读 2 分钟
1.8k
假设要在电话簿中找一个名字以K打头的人,可以从头开始翻页,直到进入以K打头的部分。但你很可能不这样做,而是从中间开始,因为你知道以K打头的名字在电话簿中间。又假设要在字典中找一个以O打头的单词,你也将从中间附近开始。

JavaScript中__proto__和prototype

2018-02-10
阅读 1 分钟
1.8k
基本概念 proto 每个JS对象一定对应一个原型对象,并从原型对象继承属性和方法。对象的__proto__属性的值就是它所对应的原型对象 prototype 不像每个对象都有__proto__属性来标志自己所继承的原型,只有函数才有prototype属性。 示例 {代码...} 输出结果如下: 补充 Function本身就是函数,Function.__proto__是标准的内...

JavaScript中constructor属性

2018-02-09
阅读 2 分钟
6.8k
hasOwnProperty方法是来判定对象是否包含指定名称的属性,不会向原型链搜索。要想搜索原型链可以用in关键字(’constructor’ in obj)。

html标签属性为布尔值

2018-02-09
阅读 2 分钟
7.6k
在开发公司的一个内部系统时,用到了AntDesign框架。我要让Button在可点击和不可点击两种状态之间切换。 {代码...} 结果我的Button标签确实不可点击了,但是eslint却报错如下: {代码...} 后来把代码给成这样: {代码...} eslint报错就消失了。 后来在Stack Overflow参考到了答案: {代码...} *Note that this means tha...

二叉树

2018-02-04
阅读 1 分钟
2.6k
二叉树的第i层至多拥有2^(i-1)个节点数;深度为k的二叉树至多总共有2(k+1)-1个节点数(定义根节点所在深度k0=0),而总计拥有节点数匹配的,称为”满二叉树“;深度为k有n个节点的二叉树,当且仅当其中的每一个节点,都可以和同样深度为k的满二叉树,序号为1到n的节点一对一对应时,称为”完全二叉树“。对任何一颗非空的二叉树...

Location

2018-02-04
阅读 2 分钟
1.7k
Location接口表示其链接到的对象的位置(URL).所做的修改反映在与之相关的对象上。Document和Window接口都有这样一个链接的Location,分别通过Document.location和Window.location访问。

History对象

2018-02-04
阅读 2 分钟
3.1k
基本概念 history接口允许操作浏览器的曾经在标签页或者框架里访问的会话历史记录。 属性 history.length history.state history.scrollRestoration 方法 history.back() history.forward() history.go() history.pushState() history.replaceState() history更多属性和方法,请参考MDN链接 history.pushState(); 按指定...

JavaScript作用域

2018-02-02
阅读 1 分钟
1.2k
几乎所有编程语言最基本的功能之一,就是能够存储变量当中的值,并能在之后对这个值进行访问或修改。事实上,正是这种存储和访问变量的值的能力将状态带给了程序。

CSS之position详解

2017-08-16
阅读 4 分钟
10.6k
position属性规定元素的定位类型。这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。  position属性有五个可选值,分别是absolute、fixed、relative,static,inherit.

MongoDB Shell

2017-07-18
阅读 11 分钟
1.9k
MongoDB的标准发新版本中提供了mongo shell.它提供了一种具有对JavaScript语言和标准函数的完全访问权限的JavaScript环境.它为MongoDB数据库提供了一个完整接口

NoSQL

2017-07-18
阅读 2 分钟
2.2k
NoSQL是设计互联网规模数据库解决方案的一种新方式.它并非一个产品或一项技术,而是定义一套数据库技术的术语,它并不以传统的RDBMS原则为基础.