随笔分类 -  前端

摘要:配置 环境变量 1. package.json 在package.json文件中,可以通过命令指定环境变量,必须以 NUXT_ENV_ 开头,在服务端与前端均可读到此变量 //package.json "scripts": { "dev:env": "SET NUXT_ENV_COOL_WORD=f 阅读全文
posted @ 2022-11-03 08:54 Bin_x 阅读(75) 评论(0) 推荐(0) 编辑
摘要:vueuse提供了许多使用的方法,下面对一些方法做一些整理备查 State createGlobalState 提供了全局的状态管理,类似于简化版的pinia createInjectionState 扩展了vue默认的provide和inject功能,可以更方便的对数据进行注入和修改 create 阅读全文
posted @ 2022-09-29 10:42 Bin_x 阅读(3369) 评论(0) 推荐(0) 编辑
摘要:(?:)表示不存储匹配的值 假如我们要在字符串中查找两个重复的单词,比如"123abcdefabc456" let str = '123abcdefabc456'; let reg = /(\w+).*?\1/; str.match(reg); // ['abcdefabc', 'abc'] 此时, 阅读全文
posted @ 2022-09-22 10:59 Bin_x 阅读(4358) 评论(0) 推荐(1) 编辑
摘要:js常用的遍历数组的方式有三种:for,forEach,of,由于实现方式的不同,导致三种遍历方式性能有所差异 forEach的性能损耗,主要在于要生成函数。而of的问题,是在于内部使用了迭代器。所以这两种方式比起for来说都要差一些。 结论: for > forEach > of 在千万级的规模, 阅读全文
posted @ 2022-09-15 09:20 Bin_x 阅读(392) 评论(0) 推荐(0) 编辑
摘要:架构鱼 2022-09-01 22:57 发表于江苏 正文 在介绍鉴权方法之前,我们先要了解的是:什么是认证、授权、鉴权、权限控制以及他们之间的关系,有了他们做铺垫,那么我们才能做到从始至终的了解透彻 ~ 什么是认证? 认证(Identification) 是指根据声明者所特有的识别信息,确认声明者 阅读全文
posted @ 2022-09-11 18:52 Bin_x 阅读(515) 评论(0) 推荐(0) 编辑
摘要:监听数组,需要使用 watch(() => [...arr], (newValue,oldValue) => { ... }) 的方式 添加和删除数据可以正常获得newValue,oldValue的值 对于数组中数据的修改,如果是一维简单数组,可以正常获得newValue,oldValue的值 查看 阅读全文
posted @ 2022-06-09 08:49 Bin_x 阅读(2088) 评论(0) 推荐(0) 编辑
摘要:实现一个简单的实时对讲功能,将一台电脑的语音实时传输到另一台电脑并播放。 Socket转发 websocket可以直接转发音频流,无需做更多处理 var WebSocketServer = require('ws').Server var WebSocket = require('ws') cons 阅读全文
posted @ 2022-05-27 08:32 Bin_x 阅读(2890) 评论(0) 推荐(1) 编辑
摘要:由于安全性限制,网站自动播放声音是没有通用的实现方式的 最好的情况也是,鼠标跟页面有交互了才能进行播放 这个交互只能是点击,鼠标移动是无法触发的 在页面的任意位置,只要点击了鼠标,就可以自动播放 当然,如果是针对单个浏览器,是可以进行设置的 Edge Chrome 阅读全文
posted @ 2022-05-20 23:59 Bin_x 阅读(556) 评论(0) 推荐(0) 编辑
摘要:nodejs 安装nodejs 12 1. 开始菜单右键管理员运行powershell 2. 设置代理 $env:HTTP_PROXY="http://127.0.0.1:10809" $env:HTTPS_PROXY="http://127.0.0.1:10809" 3. nvm安装 nvm in 阅读全文
posted @ 2022-04-12 16:17 Bin_x 阅读(68) 评论(0) 推荐(0) 编辑
摘要:下面是一些在平时开发的小技巧,或者是不怎么用到的,比较容易混乱的知识 数据比较 == 两个等号在大多数情况下,是转换成数字进行比较 所以 [] == false 是 true,因为等号两边转换成数字都是0 而 ![] == false 同样为 true,因为 ![] 转换成布尔类型就是 false 阅读全文
posted @ 2022-04-09 18:31 Bin_x 阅读(19) 评论(0) 推荐(0) 编辑
摘要:let $ = jQuery = (function () { // 伪构造函数,用于jquery对象 function construct(dom, selector) { let i, len = dom ? dom.length : 0 for (i = 0; i < len; i++) th 阅读全文
posted @ 2022-03-19 23:52 Bin_x 阅读(84) 评论(0) 推荐(0) 编辑
摘要:构造函数 Function的构造函数是它本身,Object,String,Number,Date,Array的构造函数均是Function,万物皆Function Function // ƒ Function() { [native code] } prototype prototype是函数才有的 阅读全文
posted @ 2022-03-17 10:31 Bin_x 阅读(26) 评论(0) 推荐(0) 编辑
摘要:function deepClone(source) { if (source null || typeof source !== 'object') return source; const target = source.constructor Array ? [] : {} for (let 阅读全文
posted @ 2022-03-08 08:37 Bin_x 阅读(18) 评论(0) 推荐(0) 编辑
摘要:最近发现了一个很有意思的现象,在浏览器的控制台和nodejs环境中,Object.defineProperty的表现有一个小差异。 在浏览器的控制台环境中,运行如下代码: const obj = {}; Object.defineProperty(obj, 'name', { value: 'Tom 阅读全文
posted @ 2022-02-09 17:39 Bin_x 阅读(63) 评论(0) 推荐(0) 编辑
摘要:绝对定位 是 相对于最近的一个,拥有定位的上级元素进行定位 而dom元素,默认都是没有定位的,最上层拥有定位的,是body元素 举一个最简单的例子: <style> .main { width: 300px; height: 300px; background-color: cyan; /* pos 阅读全文
posted @ 2022-01-20 23:02 Bin_x 阅读(156) 评论(0) 推荐(0) 编辑
摘要:es6中,新增了两种数据结构,或者说是两个集合类,Set和Map 最简单的理解就是,跟Java中的Set和Map是一样的😄 Set Set中存储的值不能重复,也就是说,可以自动的实现去重的功能。 实例化 // Set(2) {1, 2} //方法一 const s=new Set(); s.add 阅读全文
posted @ 2022-01-20 22:26 Bin_x 阅读(46) 评论(0) 推荐(0) 编辑
摘要:解构 很多人会把解构跟es5的 || 相提并论,其实还是有一点区别的。 在解构中,一个重要的原则是,默认值生效的条件只有undefined。 而使用es5的 || ,由于js会把某些值都转换成false,所以都会返回默认值。 在js中,会转换成false的值包括:false, 0, null, un 阅读全文
posted @ 2022-01-19 23:30 Bin_x 阅读(97) 评论(0) 推荐(0) 编辑
摘要:与全局预编译相对应的是函数预编译。 全局预编译会产生GO(Global Object)对象,函数预编译会产生AO(Activation Object)对象。 只有函数开始执行的时候,才会进行函数预编译,一个GO对象内,会存在多个AO对象。 函数预编译分为四个步骤,比全局预编译多一个 创建AO对象 查 阅读全文
posted @ 2022-01-19 23:02 Bin_x 阅读(83) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示