讲原型的时候,我们应该先要记住以下几个要点,这几个要点是理解原型的关键: 1.所有的引用类型(数组.函数.对象)可以自由扩展属性(除null以外). 2.所有的引用类型都有一个’_ _ proto_ _'属性(也叫隐式原型,它是一个普通的对象). 3.所有的函数都有一个’prototype’属性(这也叫显式原型,它也是一个普通的对象). 4.所有引用类型,它的’_ _ proto_ _'属性指向它的构造函数的’prototype’属性. 5.当试图得到一个对象的属性时,如果这个对象本身不存在这个…
一文搞懂 js 中的各种 for 循环的不同之处 See the Pen for...in vs for...of by xgqfrms (@xgqfrms) on CodePen. for "use strict"; /** * * @author xgqfrms * @license MIT * @copyright xgqfrms * @created 2020-07-01 * @modified * * @description for : var hoisting, brea…
从代理模式说起 回顾前文: 设计模式系列之代理模式(Proxy Pattern) 要读懂动态代理,应从代理模式说起.而实现代理模式,常见有下面两种实现: (1) 代理类关联目标对象,实现目标对象实现的接口 public class Proxy implements Subject { // 维持一个对真实主题对象的引用 private RealSubject realSubject; public Proxy(RealSubject realSubject) { this.realSubject…
滚动大小(scroll dimension) 滚动大小指的是包含滚动内容元素的大小. 以下是与元素滚动内容大小相关的属性: 1. scrollWidth:在没有滚动条的情况下,元素内容的总宽度. 2. scrollHeight:在没有滚动条的情况下,元素内容的总高度. 3. scrollTop:被隐藏在内容区域左侧的像素数.设置该值可以改变元素的滚动位置. 4. scrollLeft:被隐藏在内容区域上方的像素数.设置该值可以改变元素的滚动位置. 接下来就举例讲解一下各个属性是什么意思,在这里使…
元素的客户区 元素的客户区大小,指的是元素内容及其内边距所占据的空间大小. 相关属性如下: 1. clientWidth:元素内容区宽度+元素左右内边距 2. clientHeight:元素内容区高度+元素上下内边距 案例代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport&qu…
基础 typeof 运算符是 javascript 的基础知识点,尽管它存在一定的局限性(见下文),但在前端js的实际编码过程中,仍然是使用比较多的类型判断方式. 因此,掌握该运算符的特点,对于写出好的代码,就会起到很大的帮助作用. typeof 返回一个字符串,表示该操作值的数据类型,基本语法: typeof operand typeof(operand) 可能返回的类型字符串有:string, boolean, number, bigint, symbol, undefined, funct…
1. 前言 2018年最火的论文要属google的BERT,不过今天我们不介绍BERT的模型,而是要介绍BERT中的一个小模块WordPiece. 2. WordPiece原理 现在基本性能好一些的NLP模型,例如OpenAI GPT,google的BERT,在数据预处理的时候都会有WordPiece的过程.WordPiece字面理解是把word拆成piece一片一片,其实就是这个意思. WordPiece的一种主要的实现方式叫做BPE(Byte-Pair Encoding)双字节编码. BPE…
一. 客户区坐标位置(clientX,clientY) 鼠标事件都是在浏览器视口中的特定位置发生的.这个位置信息保存在事件对象的clientX和clientY属性中,所有浏览器都支持这两个属性. 我们知道了这个位置信息我们可以做些什么了?举个例子,有时候我们需要获取鼠标在某一个元素中的相对位置,做一些事情,比如自定义拖动条. 案例代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charse…
偏移量(offset dimension) 偏移量:包括元素在屏幕上占用的所有可见空间,元素的可见大小有其高度,宽度决定,包括所有内边距,滚动条和边框大小(注意,不包括外边距). 以下4个属性可以获取元素的偏移量 1. offsetHeight:元素在垂直方向上占用的空间大小,以像素计.包括元素的高度(可见的),水平滚动条的高度,上边框高度和下边框高度. 2. offsetWidth:元素在水平方向上占用的空间大小,以像素计.包括元素的宽度(可见的),垂直滚动条的宽度,左边框宽度和右边框宽度.…
介绍 System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能,线程安全等特点,它可以用来做消息队列,进行数据的生产和消费, 公开的 Writer 和 Reader api对应消息的生产者和消费者,也让Channel更加的简洁和易用,与Rabbit MQ 等其他队列不同的是,Channel 是进程内的队列. 开始Channel之旅 创建一个 channel 非常简单,Channel 类公开的API支持创建无限容量和有限容量的…