摘要: 1、数组转字符串需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); //"0-1-2-3-4" 2、字符串转数组 实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下 阅读全文
posted @ 2021-09-18 01:16 Magi黄元 阅读(214) 评论(0) 推荐(0) 编辑
摘要: filter 过滤方法 var arr = ['A', '', 'B', null, undefined, 'C', ' ']; var r = arr.filter(function (s) { return s && s.trim(); // 注:IE9(不包含IE9)以下的版本没有trim() 阅读全文
posted @ 2021-09-07 10:57 Magi黄元 阅读(1211) 评论(0) 推荐(0) 编辑
摘要: Promise.all方法 简而言之:Promise.all( ).then( )适用于处理多个异步任务,且所有的异步任务都得到结果时的情况。 比如:用户点击按钮,会弹出一个弹出对话框,对话框中有两部分数据呈现,这两部分数据分别是不同的后端接口获取的数据。 弹框弹出后的初始情况下,就让这个弹出框处于 阅读全文
posted @ 2021-09-07 09:57 Magi黄元 阅读(1625) 评论(0) 推荐(0) 编辑
摘要: <select id="citySel" class="select" onchange="func()> <option value="">请选择城市</option> <option value="sh">上海</option> <option value="bj">北京</option> <o 阅读全文
posted @ 2021-09-02 11:04 Magi黄元 阅读(2733) 评论(0) 推荐(0) 编辑
摘要: 百分数转化为小数 function toPoint(percent){ var str=percent.replace("%",""); str= str/100; return str; } 小数转化为百分数 function toPercent(point){ var str=Number(po 阅读全文
posted @ 2021-08-31 14:02 Magi黄元 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 1.什么是@input @input的作用是定义模块输入,是用来让父级组件向子组件传递内容。 2.@input用法 首先在子组件中将需要传递给父组件的变量用@input()修饰 需要在子组件ts文件import中还添加Input 实例: import {Component, Input, OnIni 阅读全文
posted @ 2021-08-31 09:03 Magi黄元 阅读(897) 评论(0) 推荐(0) 编辑
摘要: 两个浏览器窗口间通信 WebSocket 这个没有太多解释,WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。当然是有代价的,需要服务器来支持。 js语言,现在比较成熟稳定当然是 socket.io和ws. 也还有轻量级的ClusterWS。 你可以在Th 阅读全文
posted @ 2021-08-30 16:43 Magi黄元 阅读(1193) 评论(0) 推荐(0) 编辑
摘要: 总结 forEach()可以做到的东西,map()也同样可以。反过来也是如此。 map()会分配内存空间存储新数组并返回,forEach()不会返回数据。 forEach()允许callback更改原始数组的元素。map()返回新的数组。 使用案例 制作一个数组的平方有如下一个数组 let arr 阅读全文
posted @ 2021-08-30 14:52 Magi黄元 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 1. 两个标签的嵌套: <div class="element1"> <div class="child1"></div> </div> .element1{ width: 200px; height: 200px; background-color: lightpink; border-radiu 阅读全文
posted @ 2021-08-26 16:05 Magi黄元 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 你是怎么理解算法的呢? 简单说就是,同一个功能 别人写的代码跑起来占内存 100M,耗时 100 毫秒 你写的代码跑起来占内存 500M,耗时 1000 毫秒,甚至更多 所以 衡量代码好坏有两个非常重要的标准就是:运行时间和占用空间,就是我们后面要说到的时间复杂度和空间复杂度,也是学好算法的重要基石 阅读全文
posted @ 2021-08-25 14:16 Magi黄元 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 一、路由传值 步骤1 路由传递参数 注意 一定是要传递 索引值 let key = index 这种情况是在浏览器中可以显示对应的参数 这种的是问号 localhost:8080/news?id=2&name=xiaoming <div class="z-shebei-box1 x-mysh-p" 阅读全文
posted @ 2021-08-24 15:47 Magi黄元 阅读(1803) 评论(0) 推荐(0) 编辑
摘要: 1. 获得一个随机的布尔值(true/false) const randomBoolean = () => Math.random() >= 0.5; console.log(randomBoolean()); 2. 检查所提供的日期是否为工作日 getDay() 方法可返回一周(0~6)的某一天的 阅读全文
posted @ 2021-08-20 16:39 Magi黄元 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 一句话来概括很简单,就是锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致。 原来package.json文件只能锁定大版本,也就是版本号的第一位,并不能锁定后面的小版本,你每次npm install都是拉取的该大版本下的最新的版本,为了稳定性考 阅读全文
posted @ 2021-08-20 11:28 Magi黄元 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 1、ngStyle 基本用法 1 <div [ngStyle]="{'background-color':'green'}"></<div> 判断添加 1 <div [ngStyle]="{'background-color':username 'zxc' ? 'green' : 'red' }"> 阅读全文
posted @ 2021-08-19 14:25 Magi黄元 阅读(427) 评论(0) 推荐(0) 编辑
摘要: Angular 中的 dom 操作(原生 js) ngAfterViewInit(){ var boxDom:any=document.getElementById('box'); boxDom.style.color='red'; } 对变量定义数据类型,防止编译报错 Angular 中的 dom 阅读全文
posted @ 2021-08-17 01:24 Magi黄元 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 利用来JS控制页面控件显示和隐藏有两种方法,两种方法分别利用HTML的style中的两个属性,两种方法的不同之处在于控件隐藏后是否还在页面上占空位。 方法一: document.getElementById("EleId").style.visibility="hidden"; document.g 阅读全文
posted @ 2021-08-16 15:16 Magi黄元 阅读(4591) 评论(0) 推荐(0) 编辑
摘要: Angular组件之间不能互相调用方法,但是可以通过创建服务来实现公共方法的调用。 实现 创建服务命令 ng g service 服务路径/服务名 比如这里在app/services目录下创建storage服务 ng g service services/storage 在app.module.ts 阅读全文
posted @ 2021-08-10 17:00 Magi黄元 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 我们可以通过以下三种方式来实现: 传递一个组件的引用给另一个组件 通过子组件发送EventEmitter和父组件通信 通过serive通信 1. 传递一个组件的引用给另一个组件 Demo1 模板引用变量 模板引用变量通常用来引用模板中的某个 DOM 元素,它还可以引用 Angular 组件或指令或W 阅读全文
posted @ 2021-08-10 10:54 Magi黄元 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 什么是keep-alive 有时候我们不希望组件被重新渲染影响使用体验; 或者处于性能考虑,避免多次重复渲染降低性能。而是希望组件可以缓存下来,维持当前的状态。这时候就需要用到keep-alive组件。 官网释义: <keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 阅读全文
posted @ 2021-08-02 10:00 Magi黄元 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 官方认为组件不应该直接获取或保存数据, 它们应该聚焦于展示数据,而把数据访问的职责委托给某个服务。 而服务就充当着数据访问,逻辑处理的功能。把组件和服务区分开,以提高模块性和复用性。 1.依赖注入 注入器是主要的机制。Angular 会在启动过程中为你创建全应用级注入器以及所需的其它注入器。你不用自 阅读全文
posted @ 2021-07-29 14:42 Magi黄元 阅读(129) 评论(0) 推荐(0) 编辑
摘要: Commit message 的格式 每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。 <type>(<scope>): <subject>// 空一行<body>// 空一行<footer> 其中,Header 是必需的,Body 和 Footer 阅读全文
posted @ 2021-07-26 10:15 Magi黄元 阅读(447) 评论(0) 推荐(1) 编辑
摘要: 什么是生命周期 生命周期函数通俗的讲就是组件创建、组件更新、组件销毁的时候会触发的一系列的方法。 当 Angular 使用构造函数新建一个组件或指令后,就会按下面的顺序在特定时刻调用这些 生命周期钩子方法。 每个接口都有唯一的一个钩子方法,它们的名字是由接口名再加上ng前缀构成的,比如OnInit接 阅读全文
posted @ 2021-07-22 14:39 Magi黄元 阅读(313) 评论(0) 推荐(0) 编辑
摘要: CPU的介绍 CPU 也称为微处理器,是计算机的心脏和/或大脑。 深入研究计算机的核心,可以帮助我们有效地编写计算机程序。 CPU 是计算机的心脏和大脑,它执行提供给他们的指令。它的主要工作是执行算术和逻辑运算并将指令编排在一起。 我们先来看一下CPU的主要组件是什么以及它们的作用: 处理器两个主要 阅读全文
posted @ 2021-07-16 15:20 Magi黄元 阅读(1701) 评论(0) 推荐(0) 编辑
摘要: 简介 Gitflow工作流程围绕项目发布定义了严格的分支模型。 为不同的分支分配了非常明确的角色,并且定义了使用场景和用法。除了用于功能开发的分支,它还使用独立的分支进行发布前的准备、记录以及后期维护。 工作原理 流程仍然使用一个中央代码仓库,它是所有开发者的信息交流中心。跟其他的工作流程一样,开发 阅读全文
posted @ 2021-07-08 15:53 Magi黄元 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 南宁三塘长龙欢乐谷休闲山庄 南宁长龙欢乐谷休闲山庄位于十里花卉长廊的那陀村,这是一个新开放的大型山庄,南宁十大休闲山庄之一,人气很高。 南宁长龙欢乐谷休闲山庄所处的位置是一个山间谷地,这里群山环绕,绿意葱茏,山庄背靠东山水库,原本是东山水库的泄洪河道区,庄内原来有一条小河缓缓流淌 ,十年前很多老板来 阅读全文
posted @ 2021-05-08 17:15 Magi黄元 阅读(3505) 评论(0) 推荐(0) 编辑
摘要: ES2017 标准引入了 async 函数,使得异步操作变得更加方便,由于async函数返回的是Promise对象,可以作为await命令的参数。 async function timeout(ms) { await new Promise((resolve) => { setTimeout(res 阅读全文
posted @ 2020-10-19 18:29 Magi黄元 阅读(1687) 评论(0) 推荐(0) 编辑
摘要: Reflect翻译过来是反射的意思,与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。有一下几个作用 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object和Reflect对象上 阅读全文
posted @ 2020-10-18 13:54 Magi黄元 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 概述 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。 而Object.defineProperty是使用的数 阅读全文
posted @ 2020-10-15 10:00 Magi黄元 阅读(117) 评论(0) 推荐(0) 编辑
摘要: ES6 提供了新的数据结构 Set, Map Set成员的值都是唯一的,没有重复的值,Set内的元素是强类型,会进行类型检查。 let set = new Set([1, true, '1', 'true', 1]) // Set(4) {1, true, "1", "true"} Set处理并集( 阅读全文
posted @ 2020-10-15 09:39 Magi黄元 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 1.谈一下你对MVVM原理的理解 传统的 MVC 指的是,用户操作会请求服务端路由,路由会调用对应的控制器来处理,控制器会获取数 据。将结果返回给前端,页面重新渲染。 MVVM :传统的前端会将数据手动渲染到页面上, MVVM 模式不需要用户收到操作 dom 元素,将数据绑 定到 viewModel 阅读全文
posted @ 2020-09-17 17:30 Magi黄元 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 大家好,由于最近从事的是微信公众号和APP内嵌 H5开发,避免不了开发一些和native相同的操作功能,就如接下来说的 仿IOS滚轮选择器。github源码链接 https://github.com/zhangKunUserGit/vue-component大家可以下载运行 先来个截图: 先来屡一下 阅读全文
posted @ 2020-09-16 16:30 Magi黄元 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 一、前言 - webpack热更新 Hot Module Replacement,简称HMR,无需完全刷新整个页面的同时,更新模块。HMR的好处,在日常开发工作中体会颇深:节省宝贵的开发时间、提升开发体验。 刷新我们一般分为两种: 一种是页面刷新,不保留页面状态,就是简单粗暴,直接window.lo 阅读全文
posted @ 2020-09-16 15:16 Magi黄元 阅读(4727) 评论(0) 推荐(1) 编辑
摘要: var arr2=[{id:1,name:'23'}] var arr1=[{id:1,car:'car2'}] const combined = arr2.reduce((acc, cur) => { const target = acc.find(e => e.id cur.id); conso 阅读全文
posted @ 2020-09-16 10:30 Magi黄元 阅读(2191) 评论(0) 推荐(0) 编辑
摘要: 前言 Express和Koa是目前最主流的基于node的web开发框架,他们的开发者是同一班人马。貌似现在Koa更加流行,但是仍然有大量的项目在使用Express,所以我想通过这篇文章说说Express中间件的原理。 中间件的功能和分类 中间件的本质就是一个函数,在收到请求和返回相应的过程中做一些我 阅读全文
posted @ 2020-09-16 09:58 Magi黄元 阅读(554) 评论(0) 推荐(0) 编辑
摘要: webpack是一个js打包工具,不一个完整的前端构建工具。它的流行得益于模块化和单页应用的流行。 webpack提供扩展机制,在庞大的社区支持下各种场景基本它都可找到解决方案。本文的目的是教会你用webpack解决实战中常见的问题。 webpack原理 在深入实战前先要知道webpack的运行原理 阅读全文
posted @ 2020-09-16 09:44 Magi黄元 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 我们知道vue可以快速开发web单页应用,而且官方为我们提供了自己的应用脚手架vue-cli,我们只需要下载脚手架,安装依赖后就可以启动vue应用雏形。 这得益与webpack的依赖追踪,各种资源后缀的loader,以及相关webpack插件的强大功能。 然而有些时候,我们有多页面的开发需求,在这种 阅读全文
posted @ 2020-09-15 20:28 Magi黄元 阅读(1510) 评论(0) 推荐(0) 编辑
摘要: 本文主要涉及三种跨域方法:JSONP、CORS、postMessage。 Q:为什么会出现跨域问题? A:出于浏览器的同源策略限制,浏览器会拒绝跨域请求。 *注:严格的说,浏览器并不是拒绝所有的跨域请求,实际上拒绝的是跨域的读操作。浏览器的同源限制策略是这样执行的: 通常浏览器允许进行跨域写操作(C 阅读全文
posted @ 2020-09-15 00:40 Magi黄元 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 一、HTTP一共有八种常见请求方法 get:参数在url上,浏览器长度有限制,不安全 post:参数不可见,长度不受限制 put:上传最新内容到指定位置 delete:删除请求的url所表示的资源 head:不返回相应主体,主要用于客户端查看服务器性能 options:与head类似,是客户端用于查 阅读全文
posted @ 2020-09-14 23:42 Magi黄元 阅读(4608) 评论(0) 推荐(1) 编辑
摘要: 类别原因短语 1XX Informational(信息性状态码) 接收的请求正在处理 2XX Success(成功状态码) 请求正在处理完毕 3XX Redirection(重定向状态码) 需要进行附加操作以完成请求 4XX Client Error(客户端错误状态码) 客户端错误,请求包含语法错误 阅读全文
posted @ 2020-09-14 23:03 Magi黄元 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 前置知识:什么是rem CSS3新增的一个相对单位rem(root em,根em).rem是相对于根节点(或者是html节点).如果根节点设置了font-size:10px;那么font-size:1.2rem;字体大小等于12px。 前置知识:什么是dpr 在浏览器控制台中输入 window.de 阅读全文
posted @ 2020-09-10 17:01 Magi黄元 阅读(656) 评论(0) 推荐(0) 编辑