<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zk_html的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zk_html</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zk_html]]></copyright><item><title><![CDATA[前端面试题分析——个人总结]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/134097554</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/134097554</guid><author>zk_html</author><pubDate>Sun, 29 Oct 2023 16:35:49 +0800</pubDate><description><![CDATA[源代码 -> 词法分析，生成 tokens 数组 -> 语法分析，生成 AST -> 对 AST 进行遍历、访问 -> 在访问的过程中，通过插件对结点进行修改 -> 生成一个新的 AST -> 代码生成，得到目标代码。]]></description><category></category></item><item><title><![CDATA[前端面试需要准备哪些方面？]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/129716558</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/129716558</guid><author>zk_html</author><pubDate>Wed, 22 Mar 2023 18:46:46 +0800</pubDate><description><![CDATA[是时候该进入社会学习了，金3也快结束了，希望在银4收获一份满意的offer！JavaScript 相关知识：包括原型、作用域、闭包、ES6+、异步编程等。项目经验和解决问题的能力：如何快速定位和解决问题、如何优化体验和提升用户体验。网络协议相关：常见 HTTP、HTTPS、TCP/IP 等协议和工作原理。HTML、CSS 相关知识：包括标签语义化、布局、盒模型、响应式等。Web 性能优化：页面加载速度、渲染性能、性能测试、性能优化策略等。基础算法和数据结构：常见排序、查找、链表、二叉树等。]]></description><category></category></item><item><title><![CDATA[年年项目 —— Vue3开发]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/129095818</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/129095818</guid><author>zk_html</author><pubDate>Sat, 18 Feb 2023 00:54:09 +0800</pubDate><description><![CDATA[使用 async 和 await 解析 promise 对象，但是如果直接在 setup 中调用接口，会得不到接口返回的数据，因为 promise 是异步进行加载，所以 return 执行完才会执行接口函数。直接在 setup 中定义一个数据来存储得到的数据，注意这个数据一定不能是简单的单层对象，否则在赋值的时候会发生对象的地址替换，无法实现响应式。注意onLoad 相当于 created ，已废弃，被setup取代。canvas画图时是否遇到了和我一样的问题？有的话进来看看吧，希望对你有的小小的帮助。]]></description><category></category></item><item><title><![CDATA[DOM事件流]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/128225432</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/128225432</guid><author>zk_html</author><pubDate>Mon, 12 Dec 2022 23:00:38 +0800</pubDate><description><![CDATA[事件流：简单来说就是事件执行顺序；事件发生时会在元素节点与根节点之间按照特定的顺序传播，路径所经过的所有节点都会收到该事件，这个传播过程即DOM事件流。]]></description><category></category></item><item><title><![CDATA[http 和 ajax 的关系]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/128106988</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/128106988</guid><author>zk_html</author><pubDate>Tue, 29 Nov 2022 23:16:14 +0800</pubDate><description><![CDATA[（1）一般请求：浏览器一般会直接显示响应体数据，也就是通常说的 刷新/跳转 页面，也就是说一般请求需要页面刷新。注意： ajax 是一种不刷新页面的请求方式：请求回来数据后 进行 DOM 操作（增删改），不会刷新页面。（2）ajax请求：浏览器不会对界面进行任何更新操作，只是监视其回调函数，并返回相关数据。ajax 请求属于 http 请求。]]></description><category></category></item><item><title><![CDATA[事件循环（Event Loop）]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/128020489</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/128020489</guid><author>zk_html</author><pubDate>Fri, 25 Nov 2022 00:51:45 +0800</pubDate><description><![CDATA[JavaScript 是一种单线程的编程语言，，所有任务都需要排队依次完成。答：作为浏览器脚本语言，JS 的主要用途是与用户互动，以及操作 DOM。这决定了它只能是单线程，否则会带来很复杂的同步问题。比如，假定 JS 同时有两个线程，一个线程在某个 DOM 节点上添加内容，另一个线程删除了这个节点，这时浏览器应该以哪个线程为准？为了避免这种复杂性，因此 JS 只能是单线程。]]></description><category></category></item><item><title><![CDATA[JS 面试题——对象合并]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/127990178</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/127990178</guid><author>zk_html</author><pubDate>Wed, 23 Nov 2022 01:46:08 +0800</pubDate><description><![CDATA[Object.assign(target, ...sources) 中。obj1 中 b 的值被后面传入的 obj2 的值给覆盖掉了。目标对象（obj1）在前和在后最后打印的结果是不同的。源对象往目标对象合并，返回目标对象。后面替换前面属性中的键。扩展运算符合并对象，]]></description><category></category></item><item><title><![CDATA[JS 面试题——迭代器]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/127985657</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/127985657</guid><author>zk_html</author><pubDate>Tue, 22 Nov 2022 16:55:54 +0800</pubDate><description><![CDATA[es6里面有一个可迭代协议，大体意思是，只要一个对象有一个属性【symbol.iterator】且它是一个函数，且返回一个迭代器，那么这个对象即可迭代。前端安全方面一个非常重要的问题——原型注入，通过原型注入，可以轻易的破坏闭包，破坏第三方库，如 elementUI 等。解构赋值左边会得到右边的迭代器，不要求右边一定是数组，只要是可迭代对象即可。根据报错信息得知，是因为{a:1,b:2}不是可迭代的。但往原型上加方法，会延伸出来问题，那就是前端安全。那么，只需给上面那个。]]></description><category></category></item><item><title><![CDATA[开发单位 vmin/vmax]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/127975274</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/127975274</guid><author>zk_html</author><pubDate>Tue, 22 Nov 2022 02:17:58 +0800</pubDate><description><![CDATA[以前，写过一个仿B站移动端的项目；当时，项目适配用的是 vw，而现在B站移动端适配用的是 vmin，想了解 vmin/vmax 单位的作用，还有为什么B站移动端适配要采用 vmin。vw：与视口的宽度有关，1vw 就是视口宽度的 1%vh：与视口的高度有关，1vh 就是视口高度的 1%vmin：与当下视口的宽度和高度的最小值有关，取值为vw和vh中较小的那个vmax：与当下视口的宽度和高度的最大值有关，取值为vw和vh中较大的那个。]]></description><category></category></item><item><title><![CDATA[vue 项目中刷新当前路由]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/127761179</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/127761179</guid><author>zk_html</author><pubDate>Wed, 09 Nov 2022 11:37:04 +0800</pubDate><description><![CDATA[在用 spa(单页面应用) 这种开发模式之前，用户每次点击侧边栏都会重新请求这个页面，用户渐渐养成了点击侧边栏当前路由来刷新 view 的习惯。但现在 spa 就不一样了，用户点击当前高亮的路由并不会刷新 view，因为vue-router 会拦截你的路由，它判断你的 url 并没有任何变化，所以它不会触发任何钩子或者是 view 的变化。]]></description><category></category></item><item><title><![CDATA[vue 项目中刷新页面]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/127758232</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/127758232</guid><author>zk_html</author><pubDate>Tue, 08 Nov 2022 22:55:24 +0800</pubDate><description><![CDATA[之前最常用的是 this.$router.go(0)，类似直接点浏览器的刷新按钮，此类方法会导致 URL 刷新时闪烁且用户体验极差，这是强刷新。]]></description><category></category></item><item><title><![CDATA[PC端项目中 vw 带来横向滚动条的问题]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/127704502</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/127704502</guid><author>zk_html</author><pubDate>Sat, 05 Nov 2022 19:01:43 +0800</pubDate><description><![CDATA[Windows 系统中的滚动条是会占据视口空间的。在 MacOs 系统中，当不滚动页面时，滚动条默认是隐藏的。它们也不占据任何的视口空间，这就表示 100% 的body宽度等于 100% 的屏幕宽度。在 Windows 系统中，滚动条的宽度会从窗口的宽度中减掉（一般是17px宽）。vw 单位忽视了滚动条占据视口空间（滚动条是不会影响vw单位计算的），还是计算整个视口的宽度。]]></description><category></category></item><item><title><![CDATA[领导力二十一法则]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/127473482</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/127473482</guid><author>zk_html</author><pubDate>Sun, 23 Oct 2022 17:28:37 +0800</pubDate><description><![CDATA[领导力二十一法则（第四、五、六条：导航法则、增值法则和根基法则）]]></description><category></category></item><item><title><![CDATA[项目总结——B站移动端（vue3+ts）]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/124772857</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/124772857</guid><author>zk_html</author><pubDate>Sat, 14 May 2022 20:15:59 +0800</pubDate><description><![CDATA[项目地址

https://gitee.com/zhou-kai520/vue3_ts_bilibilihttps://gitee.com/zhou-kai520/vue3_ts_bilibili

技术栈


    Vue3.2，Vue-Router，Vant 3 组件库，TypeScript，Axios


项目功能

实现了基本的B站移动端



项目开发模式

    前后端分离，后端写接口，前端实现接口调用、并且将数据渲染到页面上。

    但由于只是一...]]></description><category></category></item><item><title><![CDATA[项目经历总结（Vue2）]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/124611204</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/124611204</guid><author>zk_html</author><pubDate>Fri, 06 May 2022 17:12:17 +0800</pubDate><description><![CDATA[自我总结]]></description><category></category></item><item><title><![CDATA[JS 面试——this 和 arguments]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/124320094</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/124320094</guid><author>zk_html</author><pubDate>Thu, 21 Apr 2022 16:45:04 +0800</pubDate><description><![CDATA[前端面试题]]></description><category></category></item><item><title><![CDATA[数据转化为视图——JS]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/124276355</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/124276355</guid><author>zk_html</author><pubDate>Tue, 19 Apr 2022 16:30:05 +0800</pubDate><description><![CDATA[数据与视图之间的转化—— JS，innerHTML 和 innerText 区别]]></description><category></category></item><item><title><![CDATA[JS 中的数组]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/123972204</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/123972204</guid><author>zk_html</author><pubDate>Tue, 05 Apr 2022 17:18:26 +0800</pubDate><description><![CDATA[一、定义

数组是指有序的元素序列。如果将有限个类型相同的变量的集合命名，那么这个名称就是数组名，而组成数组的各个变量称为数组的分量，也称为数组的元素，有时也称为下标变量。

而 JS 中的数组不是真正意义上的数组，因为 JS 中的数组能存储任意类型的数据。JS 中的内存地址不是连续的。

二、清空数组的方法


// arr 是相关数组
// 方法一：
    let arr=[];
// 方法二：
    let arr.length=0;
// 方法三：
    ar...]]></description><category></category></item><item><title><![CDATA[Vue使用filter过滤器格式化时间]]></title><link>https://blog.youkuaiyun.com/zk_html/article/details/121810416</link><guid>https://blog.youkuaiyun.com/zk_html/article/details/121810416</guid><author>zk_html</author><pubDate>Thu, 09 Dec 2021 11:52:22 +0800</pubDate><description><![CDATA[Vue使用filter过滤器格式化时间]]></description><category></category></item></channel></rss>