子舒 @zishu 2024年3月1日 值传递和引用传递、深拷贝和浅拷贝 vue 把一个值赋给两个变量,修改一个变量时,另一个变量也会修改。 **原因分析** ```js this.a = res.data; this.b = res.data; ``` 同时给两个变量 a 和 b 赋值时,修改 a 的内容,打印 b 结果是一样的,因为这里的赋值是属于引用传递的,把 `res.data` 这个地址赋给 a 和 b,当修改 a 技术 js
子舒 @zishu 2024年2月23日 无法从非 EcmaScript 模块导入命名导出 https://github.com/markdown-it/markdown-it markdown-it 是一个基于 vue 的解析 markdown 语法的库。 在 vue 中引入 markdown-it 模块时遇到一个问题,dev 开发运行时报出以下错误,无法从非 EcmaScript 模块导入命名导出。 ```shell # shell e 技术 Vuejs
子舒 @zishu 2023年5月13日 hugo 纯静态编写一个字数统计脚本 早上起来的时候看到微信群中有博友分享自己的建站时间,聊着聊着说到总字数上面,这时我才发现我的网站没有统计的地方,索性就自己写一个吧,因为是静态博客,所以不涉及后端、服务器等,只用前端的方式来解决。 这里需要借助我之前的一篇文章,[《用原生 js 给网站写个搜索功能》](/blog/189.html/),里面有提到如何生成一个文章列表 json 文件,这里我 技术 js博客
子舒 @zishu 2023年3月17日 用原生 js 给网站写个搜索功能 本文也算是一篇教程,可以给 hugo 网站加个搜索功能,并且实现热更新,体验感更好。 如果是其他程序,只需要按照特定的模板生成以下格式的文件即可,主要代码从 第 2 部分 开始,第一章节写的是如何用 hugo 输出文章列表 json 文件。 `title` 是文章标题,`permalink` 是文章链接。 ```json [{ "permalink 技术 js网站
子舒 @zishu 2023年1月9日 利用 memos 生成的在线动态列表 memos 是一个具有知识管理和社交功能的开源自托管备忘录中心。 Github 地址:[https://github.com/usememos/memos](https://github.com/usememos/memos) 可以用它本身提供的 api,然后结合静态博客,做成一个在线的动态列表,类似于朋友圈功能。 接口 url 有固定的格式,open 技术 jsmemos说说
子舒 @zishu 2023年1月6日 分享一个页面点击特效 点击页面时可以弹出随机颜色小心心,目前我的网站就使用了这个特效。 直接将下面的代码复制到引入的 js 文件中即可,不用进行其他配置。 ```js !function(e,t,a){function n(){c(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transf 技术 js
子舒 @zishu 2022年11月15日 js 中 [ ]+{ } 和 { }+[ ] 的区别  `[ ]+{ }`:一个数组加一个对象。 加法会进行隐式类型转换,规则是调用其 valueOf() 或 toString() 以取得一个非对象的值 (primitive value)。 技术 js
子舒 @zishu 2022年10月20日 localStorage 的相关运用 localStorage 是浏览器自带的一个属性,只读的 localStorage 属性允许你访问一个 Document 源(origin)的对象 Storage;存储的数据将保存在浏览器会话中。localStorage 类似 sessionStorage,但其区别在于:存储在 localStorage 的数据可以长期保留;而当页面会话结束——也就是说,当页 技术 js
子舒 @zishu 2022年9月26日 将数组中多个对象的同名属性值取出合并成新数组 业务中需求的方法,接口返回一个数组,里面包含了大量的对象,具有同名的属性名,比较常见。但是需要将其中参数为 name 的属性值全部取出,合并成数组。 ```js const num = [ { id: 1, name: 'abc', }, { id: 2, name: 'xyz', 技术 js
子舒 @zishu 2022年6月24日 人民币小写转大写 一个有趣的 demo ```js this.smalltoBIG(43533534.78); //肆仟叁佰伍拾叁万叁仟伍佰叁拾肆元柒角捌分 smalltoBIG (n) { var fraction = ['角', '分']; var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌' 技术 js
子舒 @zishu 2022年4月26日 浏览器收藏夹一键填写博客评论信息 先点击收藏一个页面,然后右键它,选择修改,在网址输入框复制下面的 js 代码,就可以一键填入了。 将其中的昵称,邮箱,网址修改成自己的信息。 目前支持绝大多数主流博客平台和系统,如果发现没有起作用,可以在下面代码里面修改增加一下 input 的属性。 如果你不会修改的话,可以在评论区留言没有起作用的网站,我可以更新代码。 ```js javascri 技术 博客js
子舒 @zishu 2021年11月5日 揭秘箭头函数 >英文地址:https://javascript.plainenglish.io/demystifying-javascript-arrow-functions-7b2a0908a2b3 >通过掘金翻译计划活动进行翻译  方法判断当前时区是否为夏令时 `getTimezoneOffset() 方法` 方法返回 UTC 时间和本地时间之间的时差,以分钟为单位。 >世界协调时间 (UTC) 是世界时间标准设定的时间,UTC 时间与 GMT 时间(格林威治时间)相同。 测一下我所在时区和标准时区的时间差 ```js function myDate () { var d = new Date(); 技术 js
子舒 @zishu 2021年9月29日 使用 js 随机生成背景颜色 先写一个简单的 html 页面出来 ```html <style> /* ... */ </style> <ul> <li>html</li> <li>css</li> <li>js</li> </ul> ``` 通过 `Math.random()` 属性可以随机生成一个数字,然后通过转化为十六进制的方法进行处理,下面就是随机生成 6 技术 js
子舒 @zishu 2021年3月26日 实时监听页面的变化 问题产生于需求,因为项目需要适配 pc 和移动端多套布局,所以某些元素在特定的宽度下会产生错位的现象。 如果是在 css 中,可以很好的判断,使用媒体查询可以实时检测页面的宽度,从而给予标签不同的属性。 ```css @media (max-width:768px){ ... } ``` 在 js 下可以使用下面这种方法 ```js wind 技术 js
子舒 @zishu 2021年3月19日 用 ajax 请求获取数据 通过 jquery 进行 ajax 请求数据是一种较为简便的方式,我简单写了一个本地的`data.json`文件,然后用`get`请求数据,下面是部分代码 ```js // ajax 请求获取数据 function picShow(){ var str = ''; $.ajax({ url:'./js/data.json', 技术 jsajax
子舒 @zishu 2021年1月20日 ES5 和 ES6 的区别? ## 一、javascript 由三部分组成 ### 1.ECMAScript(核心) 它规定了语言的组成部分:法语,类型,语句,关键字,操作符等等。 ### 2.DOM(文档对象模型) DOM 把整个页面映射为一个多层节点结果,开发人员可借助 DOM 提供的 API,轻松地删除、添加、替换或修改任何节点。 ### 3.BOM(浏览器对象模型) 技术 jsES6
子舒 @zishu 2021年1月18日 webpack 的核心概念和构建流程 ## 1.webpack 的核心概念 1. **entry(入口)**:一个可执行模块或者库的入口。定义了打包后的入口文件。 2. **output(出口)**:指示 webpack 如何去输出,以及在哪里输出。 path: 打包文件存放的绝对路径 publicPath: 网站运行时的访问路径 filename: 打包后的文件名 3. **mo 技术 jswebpack
子舒 @zishu 2020年12月19日 javascript 进阶问题 Github: https://github.com/lydiahallie/javascript-questions 相当不错的一个 Github 仓库,`javascript questions` ,作者每周都会发布一些有关 javascript 的题目,虽然不难但是考察细节,刷了一会,其实一些很简单的问题,结果因为细节思考不到位直接出错。 >引用 技术 js
子舒 @zishu 2020年11月18日 在 js 中运算不能随便把 value 属性定义成变量 在写一个小 demo 的时候,无意中发现定义变量的时候直接写入 value,会导致获取不到数据,或者获取的不是我们想要的内容,在 js 中运算不能随便把 value 属性定义成变量 先看一段代码 ```html <input type="text"" id="a"> <span>*</span> <input type="text" id="b"> <i 技术 js
子舒 @zishu 2020年11月17日 事件监听函数,以及事件的捕获和冒泡机制 事件一般是用于浏览器和用户操作之间的交互,当用户执行某些特殊的操作时,浏览器给予反应,触发绑定的事件,`事件流`,事件发生时会在元素节点和根节点之间按照约定的顺序传播,事件经过的所有节点都会受到事件的影响,这个传播过程被称为 DOM 事件流 ## 函数事件 事件一般是用于浏览器和用户操作之间的交互,当用户执行某些特殊的操作时,浏览器给予反应,触发绑定的事 技术 笔记js
子舒 @zishu 2020年11月14日 有关 js 函数,方法的一些补充总结 数据类型,构造函数,原型和原型链的一些讲解补充 ## 一、数据类型 ### 1.5 个基本类型 string number boolean undefined 未定义 null 值为空 symbol 表示一个符号,符号类型是唯一的并且是不可修改的 最常见的还是前三种,字符串,数字,布尔值 ### 2.常见的引用类型 引用类型是一种数据 技术 笔记js
子舒 @zishu 2020年11月12日 面向对象编程 面向对象把构成问题的 transaction 分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为,意在写出通用代码,加强代码重用,屏蔽差异性。 ## 一、什么是面向对象编程 js 是`基于原型`的,基于`面向对象编程` 面向对象就是把数据和对数据的操作方法放在一起,作为一个整体——对象。对同 技术 编程js