光标与选区
光标是一种特殊的选区。
Selection
对象表示用户选择的文本范围或插入符号的当前位置。它代表页面中的文本选区,可能横跨多个元素。通常由用户拖拽鼠标经过文字而产生。Range
对象表示包含节点和部分文本节点的文档片段。通过selection
对象获得的range
对象才是我们操作光标的重点。
光标是一种特殊的选区。
Selection
对象表示用户选择的文本范围或插入符号的当前位置。它代表页面中的文本选区,可能横跨多个元素。通常由用户拖拽鼠标经过文字而产生。Range
对象表示包含节点和部分文本节点的文档片段。通过 selection
对象获得的 range
对象才是我们操作光标的重点。该笔记是来源于公众号文章还在用定时器吗?借助 CSS 来监听事件。
鼠标进入时开始定时器
var timer = null
el.addEventListener('mouseover', () => {
timer && clearTimeout(timer)
timer = setTimeout(() => {
// 具体逻辑
}, 1000)
})
鼠标离开时取消定时器
el.addEventListener('mouseout', () => {
timer && clearTimeout(timer)
})
encodeURI
与 encodeURIComponent
都是对 URI 进行编码的,由于 URI 仅支持 ASCII 字符,对于一些特殊的字符需要进行编码,例如汉字、&
、?
等有意义的特殊符号。
encodeURI
不会对 ~!@#$&*()=:/,;?+'
这些特殊字符进行编码encodeURIComponent
不会对 ~!*()'
这些特殊字符进行编码数字与字母(0-9,a-z,A-Z)是不会被编码的,_-.~!*'()
这些字符也不会被编码 。可以观察到二者的区别是 encodeURIComponent
会对更多的字符进行编码,而 encodeURI
对有些特殊字符不会编码,如 &, :, /
。
当我们借用一个变量时,如果变量被销毁,那么我们就不能通过该借用的引用访问数据,因为变量以及被销毁了,此时访问的数据是不可知的。
fn main() {
let x;
{
let y = 5;
x = &y;
}
println!("{}", x);
}
如果我们尝试编译该代码,编译器将会给出错误
error[E0597]: `y` does not live long enough
--> hello5.rs:5:9
|
5 | x = &y;
| ^^ borrowed value does not live long enough
6 | }
| - `y` dropped here while still borrowed
7 | println!("{}", x);
| - borrow later used here
error: aborting due to previous error
For more information about this error, try `rustc --explain E0597`.
下载源码包,解压
wget https://github.com/ultralytics/yolov5/archive/refs/tags/v6.1.tar.gz
tar -zxvf yolov5-6.1.tar.gz
进入解压目录,安装依赖
cd yolov5-6.1
pip install -r requirements.txt
下载预训练模型 yolov5s6.pt,在项目根目录新建 weights 文件夹,将下载的预训练模型放入。