<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[csdn_wzq的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csdn_wzq</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csdn_wzq]]></copyright><item><title><![CDATA[鸿蒙OS开发ForEach循环渲染]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/146226115</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/146226115</guid><author>csdn_wzq</author><pubDate>Thu, 13 Mar 2025 11:31:36 +0800</pubDate><description><![CDATA[在ForEach循环渲染过程中，如果修改列表项中的数据，但是UI页面不会刷新。在最近开发公司app时遇到了这个问题，经过查看官方文档找到了解决方式数据变化不刷新。]]></description><category></category></item><item><title><![CDATA[证书 90 天到期变永久]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/145508736</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/145508736</guid><author>csdn_wzq</author><pubDate>Sat, 08 Feb 2025 09:44:11 +0800</pubDate><description><![CDATA[github一款自动续期神器acme.sh。]]></description><category></category></item><item><title><![CDATA[CSS实现自适应的正方形]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/145467639</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/145467639</guid><author>csdn_wzq</author><pubDate>Thu, 06 Feb 2025 10:13:45 +0800</pubDate><description><![CDATA[在开发移动端时，会遇到类似于九宫格菜单的页面，宽度很好设置，一般设置为“33.333%”或者其他，但是高度呢？下面介绍几种常用方法。]]></description><category></category></item><item><title><![CDATA[IOS 安全机制拦截 window.open]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/145258805</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/145258805</guid><author>csdn_wzq</author><pubDate>Mon, 20 Jan 2025 11:34:30 +0800</pubDate><description><![CDATA[在ios环境，在某些情况下执行不生效如果setTimeout不生效，可以尝试加点延时看看，比如100毫秒，我这边实测的ios机型都能生效，所以就没加延时。]]></description><category></category></item><item><title><![CDATA[H5唤起微信小程序]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/145175531</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/145175531</guid><author>csdn_wzq</author><pubDate>Thu, 16 Jan 2025 10:41:47 +0800</pubDate><description><![CDATA[开发者无需调用平台接口，在左边最底下小程名称->账号设置->基本设置->隐私与安全->明文Scheme拉起此小程序配置要做跳转的页面。]]></description><category></category></item><item><title><![CDATA[前端如何保证代码健壮性和提升用户体验？]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/145107172</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/145107172</guid><author>csdn_wzq</author><pubDate>Mon, 13 Jan 2025 09:53:42 +0800</pubDate><description><![CDATA[错误和异常处理是保证代码健壮性和提升用户体验的常见方式：适合于同步代码，能够捕获代码块中抛出的异常。then和catch：用于处理 Promise 的结果和错误，适合异步操作。结合 try...catch：提供了清晰的异步错误处理方式，增强了代码的可读性。]]></description><category></category></item><item><title><![CDATA[Javascript 柯里化]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144846188</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144846188</guid><author>csdn_wzq</author><pubDate>Tue, 31 Dec 2024 11:27:40 +0800</pubDate><description><![CDATA[柯里化（Currying）是一种函数转换的技术，将接受多个参数的函数转化为一系列每次只接受一个参数的函数。在JavaScript中，这可以通过创建一个闭包来实现，使得每个函数调用都可以只接收一个参数并返回一个新的函数，直到所有参数都被接收为止。]]></description><category></category></item><item><title><![CDATA[2024年末 前端性能优化总结]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144552882</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144552882</guid><author>csdn_wzq</author><pubDate>Wed, 18 Dec 2024 10:28:47 +0800</pubDate><description><![CDATA[前端性能优化一直是很多前端工程师非常关注的问题，在日常的面试中也是经常会被问到的点，2024年末花一点时间来一起学习一下前端性能优化方案。方法有很多，具体的实现需要根据当前业务以及团队的技术方案来确定！]]></description><category></category></item><item><title><![CDATA[推荐几个前端AI库]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144525597</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144525597</guid><author>csdn_wzq</author><pubDate>Tue, 17 Dec 2024 09:53:43 +0800</pubDate><description><![CDATA[传统的前端开发主要关注于页面布局、样式设计及响应式处理等视觉表现层面。然而，随着用户对应用功能需求的增加，仅靠前端的传统技能已经难以满足市场的需求。AI技术的引入，不仅改变了前端开发的技术栈，还极大提升了用户的体验，推动了多种行业的创新发展。比如人机交互、图像识别、情感分析、跨学科融合等。前端最近卷的非常厉害，分享几个人工智能库供大家继续卷～]]></description><category></category></item><item><title><![CDATA[前端基础问题：跨域]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144499475</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144499475</guid><author>csdn_wzq</author><pubDate>Mon, 16 Dec 2024 10:31:33 +0800</pubDate><description><![CDATA[跨域是指在 Web 开发中，当一个网页的源（origin）与另一个网页的源不同时，就会发生跨域。源由协议、域名和端口号组成。如果两个 URL 的协议、域名和端口号中任何一个不同，就被认为是跨域。跨域限制是由浏览器实施的安全策略，它防止一个网页的脚本通过在其他网页的上下文中执行来窃取敏感信息或执行恶意操作。浏览器会限制跨域请求，例如通过 XMLHttpRequest 或 Fetch API 发送的跨域 HTTP 请求通常会被拒绝，除非目标服务器明确允许这样的请求。跨域的主要解决方案Jsonp主要是借助了。]]></description><category></category></item><item><title><![CDATA[TypeScript高级用法]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144442193</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144442193</guid><author>csdn_wzq</author><pubDate>Fri, 13 Dec 2024 09:42:36 +0800</pubDate><description><![CDATA[TypeScript使用起来很麻烦，但是效果却很香！我们在定义组件属性时既可以使用type也可以使用interface。由于同名接口会自动合并，而同名类型别名会冲突，我推荐使用interface定义组件属性。这样，使用者可以通过语句自由扩展组件属性，增强了代码的灵活性和可扩展性。const userInfo: UserInfo = { name: "张三", age: 23 };做项目还是建议使用js，效率高。做产品推荐使用ts，精打细磨。]]></description><category></category></item><item><title><![CDATA[前端大屏开发3种适配方案]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144416977</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144416977</guid><author>csdn_wzq</author><pubDate>Thu, 12 Dec 2024 09:54:21 +0800</pubDate><description><![CDATA[实现方式：按照设计稿的尺寸，将px按比例计算转为vw和vh优点：1.可以动态计算图表的宽高，字体等，灵活性较高 2.当屏幕比例跟 ui 稿不一致时，不会出现两边留白情况缺点：每个图表都需要单独做字体、间距、位移的适配，比较麻烦实现方式：通过scale属性，根据屏幕大小，对图表进行整体的等比缩放优点：1.代码量少，适配简单 2.一次处理后不需要在各个图表中再去单独适配。]]></description><category></category></item><item><title><![CDATA[Object.assign 是深拷贝还是浅拷贝？]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144391420</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144391420</guid><author>csdn_wzq</author><pubDate>Wed, 11 Dec 2024 09:52:05 +0800</pubDate><description><![CDATA[浅拷贝‌：只复制对象的指针，新旧指针均指向同一堆内存对象。如果使用新指针对对象进行操作，会影响原对象‌深拷贝‌：会在堆内存中另外复制存储一个一模一样的对象，新指针指向的是新对象而非旧对象。使用新指针对对象进行操作不会影响原对象‌Object.assign用于将一个或多个源对象的属性复制到目标对象中。它执行的是浅拷贝，而不是深拷贝。]]></description><category></category></item><item><title><![CDATA[CSS选择器 :is()、:where()、:not()、:has()]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144366111</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144366111</guid><author>csdn_wzq</author><pubDate>Tue, 10 Dec 2024 10:22:08 +0800</pubDate><description><![CDATA[is():where():not():has():is()以上选择器有浏览器的版本兼容要求，请谨慎使用！]]></description><category></category></item><item><title><![CDATA[URL构造器]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144338031</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144338031</guid><author>csdn_wzq</author><pubDate>Mon, 09 Dec 2024 09:26:20 +0800</pubDate><description><![CDATA[在前端开发中，我们经常需要处理URL，例如在发起HTTP请求时构建API端点，或在页面导航时构建动态链接、拼接动态参数。过去，我们习惯于使用模板语法和字符串拼接来构建这些URL，现在在代码中依然可以看到新的代码还在使用这种方法。但这种方法不仅容易出错，而且在维护和阅读代码时也不够直观。本文将介绍更现代和更安全的URL构建方法，并展示如何在实际项目中应用它们。以上简单的介绍了一种方法处理来拼接url，欢迎大家一起讨论！]]></description><category></category></item><item><title><![CDATA[详解localhost和127.0.0.1]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144270122</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144270122</guid><author>csdn_wzq</author><pubDate>Thu, 05 Dec 2024 16:34:50 +0800</pubDate><description><![CDATA[前端开发的同学，在本地调试的时候，执行 npm run 就能在浏览器中打开你的页面窗口，地址栏显示的就是这个 'http://localhost:8088/index.html'。大家只是用，也没有去想过这个问题。localhost是本机域名，127.0.0.1是本机IP地址，localhost通过host文件会自动解析到127.0.0.1。]]></description><category></category></item><item><title><![CDATA[几种常见的javascript设计模式]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144204218</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144204218</guid><author>csdn_wzq</author><pubDate>Tue, 03 Dec 2024 09:44:09 +0800</pubDate><description><![CDATA[最近开发HarmonyOSApp，使用的Arkts语言，此语言类似后端C#语言风格，同时兼顾写后端接口的我突然想总结一下近8年前端开发中无意中使用的设计模式，我们用到了却不知属于哪些，下面和大家分享一下。前端的设计模式，其实就是一种可以在多处地方重复使用的代码设计方案， 只是不同的设计模式所能应用的场景有所不同。通过这种设计模式可以帮助我们提高代码的可读性、可维护性与可扩展性。以上示例不是实际项目代码，只是为了方便理解设计模式而写的简单示例。]]></description><category></category></item><item><title><![CDATA[前端开发遇到的一些权限控制问题]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144180258</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144180258</guid><author>csdn_wzq</author><pubDate>Mon, 02 Dec 2024 09:45:17 +0800</pubDate><description><![CDATA[在前端开发中，权限控制是一个重要的功能，确保不同用户根据其权限访问不同的资源或功能。但是前端只能做一些基础的权限控制，想做到万无一失的权限访问控制必须后端进行配合，下面和大家分享一下自己在项目中用到的权限控制方式，开发语言使用Vue。前端权限控制不仅仅是页面和路由的访问权限，还包括按钮、操作权限的细粒度控制。它与后端的权限体系相辅相成，前端负责用户体验的优化与增强，而后端则负责核心的权限认证与校验。]]></description><category></category></item><item><title><![CDATA[Javascript 图片懒加载]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144127994</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144127994</guid><author>csdn_wzq</author><pubDate>Fri, 29 Nov 2024 09:46:18 +0800</pubDate><description><![CDATA[最近公司和第三方材料供应商对接开发了物资集采平台，其中有个功能需求需要展示数百张材料信息图片，有时页面会出现卡顿的情况，并使用了图片懒加载的方式进行了优化。下面把方法分享给大家一起学习。图片懒加载是一项简单而有效的前端性能优化技术，欢迎大家一起讨论其他更好的方法。]]></description><category></category></item><item><title><![CDATA[vue3 hook的使用]]></title><link>https://blog.youkuaiyun.com/csdn_wzq/article/details/144103343</link><guid>https://blog.youkuaiyun.com/csdn_wzq/article/details/144103343</guid><author>csdn_wzq</author><pubDate>Thu, 28 Nov 2024 10:04:14 +0800</pubDate><description><![CDATA[vue3 中的 hooks就是函数的一种写法，就是将文件的一些单独功能的js代码进行抽离出来，放到单独的js文件中，或者说是一些可以复用的公共方法/功能。其实hooks 和 vue2 中的 mixin 有点类似，但是相对 mixins 而言， hooks 更清楚复用功能代码的来源, 更清晰易懂。日常开发任务中的一次案例分享。]]></description><category></category></item></channel></rss>