自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

muzidigbig的博客

时间的三大杀手:拖延、犹豫不决、目标不明确。

  • 博客(303)
  • 论坛 (2)
  • 收藏
  • 关注

原创 前端好用工具推荐

1.图片处理工具Jinaconvert工具网站地址:https://jinaconvert.com/cn/这款图片处理工具也相当的强大,想要的各种各样的格式(JPG, PNG, GIF, BMP, TIFF, ICO, SVG和更多图片格式)都可以转换,在编程和生活中都可以用得到,赶紧收藏起来吧。2.代码在线测试工具 https://tool.lu/可以对js、css、...

2019-04-03 12:20:17 518

原创 js-函数(闭包、私有、递归、自调)、变量(隐士)和作用域

JavaScript 函数将脚本编写为函数,就可以避免页面载入时执行该脚本。打印 定义的函数名 就相当于打印这整个函数函数包含着一些代码,这些代码只能被事件激活,或者在函数被调用时才会执行。你可以在页面中的任何位置调用脚本(如果函数嵌入一个外部的 .js 文件,那么甚至可以从其他的页面中调用)。创建函数的语法:function 函数名(var1,var2,...,var...

2018-06-21 16:51:05 1104

原创 pc端和移动端默认样式重置

首先说一下,为何要用重置样式除了省心之外,还有两个好处1.方便设计师/程序员发挥白纸的感觉确实好。各种margin,padding,border的为0。。。2.便于发现前端代码的遗漏用了reset后,如果“blockquote、ol、ul、hn等语义元素在没有赋以其他合理的样式”,会非常扎眼(任何人都看得出来),开发者第一反应会是“卧槽忘了写”并迅速补救。并迅速补救。但如果没r...

2018-06-05 19:20:31 633

原创 vue.js 三种方式安装(vue-cli)

Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。 下面介绍三种 Vue.js 的安装方法: 1.独立版本 我们可以在Vue.js的官网上直接下载vue...

2018-05-29 07:49:05 119642 46

原创 文本在盒子中水平、垂直居中(图片与文本居中)、多行文本垂直居中

在样式布局中,我们经常碰到需要将元素居中。通过css实现元素的水平居中较为简单:对文本,只需要对其父级元素设置text-align: center;,而对div等块级元素,只需要设置其left和right的margin值为auto。要实现元素的垂直居中,有人会想到css中的vertical-align属性,但是它只对拥有valign特性的元素才生效,例如表格元素中的<td>、<t...

2018-05-23 10:37:12 13690 2

原创 html默认css样式的标签及去除(全局)

1.标签的默认样式和清除默认样式(统一全局样式)的代码大多数标签都有自己的默认样式,比如遇到的body默认外边距,另外本例中ul前的圆点及左侧的内边距,另h1-h6字体大小各不相同,em默认为斜体,strong表示粗体。正因为有这些默认样式,一个设计合理的页面,即使没有加载样式,也能让用户很容易阅读。但此时这些默认样式对我们没用,所以需要清除掉,为了方便,建议用标签重定义方式,这样可以很简单地...

2018-05-19 09:27:11 27178

原创 vue-动态组件

通过使用保留的<component>元素,动态地绑定到它的is特性,我们让多个组件可以使用同一个挂载点,并动态切换。根据v-bind:is="组件名" 中的组件名去自动匹配组件 也是是一个组件对象,如果匹配不到则不显示。改变挂载的组件,只需要修改is指令的值即可。father.vue<template> <div> <h2>动态组件</h2> <button type="button" @click...

2020-11-27 17:37:29 9

转载 js--纯函数

定义简单来说,一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。这么说肯定比较抽象,我们把它掰开来看:函数的返回结果只依赖于它的参数。 函数执行过程里面没有副作用。 不能调用Date.now()或Math.random()等不纯的方法,因为每次会得到不一样的结果。let a = 1const foo = (b) => a + bfoo(2) // => 3foo 函数不是一个纯函数,因为它返回的结果依赖于外部变量 a,我们在不知

2020-11-26 18:19:28 11

原创 React---基础4(组件通讯)

1.父传子通过属性props传递:组件可以接受任意的 props(属性) ,包括原始值、React 元素,或者函数2.子传父(不共用状态,各自管理各自的状态)2.1 react导入库npm install pubsub-js --save2.2 react 页面引入pubsubjsimport PubSub from 'pubsub-js'2.3 pubsubjs使用发送消息:PubSub.publish(名称,参数)订阅消息:PubSub.subscrib(名

2020-11-23 16:44:03 8

原创 React---基础3(生命周期、axios)

十一、生命周期注意:React 是单页面的,即所有组件都是在初始化创建的时候全部被创建的(包括弹框),只是通过属性来显示和隐藏组件,并不会销毁和重建组件。因此,在子组件中,可以通过更新state时会触发的回调函数来做一些操作,如componentWillUpdate();但是若是在componentWillMount()做了一些操作的话,那么这些操作便只会触发一次,更新state或是显示出该组件(如弹框组件)时都不会触发这些操作,因为它们所在的回调函数在生命周期中只触发一次。1. 组件的

2020-11-23 12:11:34 31

原创 React---基础2(List/Key、表单(ref、event)、状态提升(共享组件)、组件占位符)

七、列表 和 键  列表(List), 键(Key)  回顾一下在javascript中如何转换列表:在数组中使用map()函数对numbers数组中的每个元素依次执操作const numbers = [1, 2, 3, 4, 5];const doubled = numbers.map((number) => number * 2);console.log(doubled) // 2, 4, 6, 8, 10  React 基本借鉴了以上写法,只不过将数组替换成了元素列表

2020-11-21 12:15:02 21

原创 React---基础1(元素、JSX、组件(生命周期)、props、state、事件、条件渲染、ES5函数互换ES6类)

react安装通过 npm 使用 React国内使用 npm 速度很慢,你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:npm install -g cnpm --registry=https://registry.npm.taobao.orgnpm config set registry https://registry.npm.taobao.org这样就可以使用 cnpm 命令来安装模块了:cnpm install [name].

2020-11-20 14:37:20 71 2

原创 Nuxt.js理解 开启SSR渲染(介绍)

Nuxt.js简单的说是Vue.js的通用框架,最常用的就是用来作SSR(服务器渲染)。再直白点说,就是Vue.js原来是开发SPA(单页应用)的,但是随着技术的普及。很多人想用Vue开发多页应用,并在服务端完成渲染。这时候就出现了Nuxt.js这个框架,它简化了SSR的开发难度。还可以直接用命令把我们制作的vue项目生成为静态html。那服务端渲染到底有什么好处哪?最主要的原因是SPA单...

2020-10-30 17:10:24 1319

原创 js---设计模式

1.单例模式在面向对象语言中,调用一个类的方法之前,必须先将这个类实例化,才能调用类方法。单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。单例模式能使得我们不需要每次都需要实例化一次,因为我们使用的对象都是同一个对象。单例模式:只允许实例化一次的对象类。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。...

2020-10-30 16:23:37 91 2

原创 es6---padStart()、padEnd()补全字符串

padStart()方法,padEnd()方法ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。'x'.padStart(5, 'ab') // 'ababx''x'.padStart(4, 'ab') // 'abax''x'.padEnd(5, 'ab') // 'xabab''x'.padEnd(4, 'ab') // 'xaba'上面代码中,padStart()和padSt

2020-10-24 10:06:33 38

转载 js---跨域

js同源策略:含义:浏览器安全的基石是“同源政策”(same-origin policy)“,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。最初,它的含义是指,A 网页设置的 Cookie,B 网页不能打开,除非这两个网页“同源”。所谓“同源”指的是”三个相同“。同源条件(三个相同):协议相同 域名相同 端口相同举例:http://www.example.com/dir/page.html 这个网址,协议是http://,域名是www.example.c

2020-10-23 15:18:40 29

原创 es6---classList 属性

之前我们要操作一个DOM元素的class属性,需要对这个DOM的class进行繁琐的循环判断,而现在HTML5为每个元素定义了classLlist属性,用于在元素中添加,移除及切换 CSS 类。该属性是 DOMTokenList 对象(一个只读的类数组对象),你可以通过DOMTokenList定义的方法对其进行修改。classList 属性返回元素的类名,作为 DOMTokenList 对象。classList 属性是只读的,但你可以使用 add() 和 remove() 方法修改它。语法:

2020-10-21 10:07:08 16

原创 es6---Promise

promise是什么?Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理且更强大。它最早由社区提出并实现,ES6将其写进了语言标准,统一了用法,并原生提供了Promise对象。1、主要用于异步计算2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果3、可以在对象之间传递和操作promise,帮助我们处理队列为什么会有promise?为了避免界面冻结(任务) 同步:假设你去了一家饭店,找个位置,叫来服务员,这个时候服务员对你说,..

2020-10-20 11:17:56 22

原创 移动端开发问题1

一.viewport<!-- 设置移动端视窗 --> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,u ser-scalable=no">二、解决点击响应延时 0.3s 问题大多数移动端触摸屏设备上点击的时候都会有0.3秒的延迟问题,我们做移动端web app开发的时候应该都遇到过这个问题,通过以下

2020-09-10 15:46:05 33

原创 手机端解决2倍图3倍图自适应

1.第一种方法 通过 css 的 DevicePixelRatio 媒体查询属性:/*默认大小*/.photo {background-image: url(image100.png);}/* 如果设备像素大于等于2,则用2倍图 */@media screen and (-webkit-min-device-pixel-ratio: 2),screen and (min--moz-device-pixel-ratio: 2) { .photo { background-image:

2020-09-09 15:58:55 161

转载 nodejs/express中使用node-sass

在原生nodejs中使用Sass1.创建根目录文件名称为expressPlay,运行 cnpm install(淘宝源安装)安装node_modules2.安装express: npm install express --save3.创建js文件命名为 app.js 并编写如下代码var express = require('express');var app = express(); /** * 中间件配置静态文件服务器托管 * app.use(express.stati..

2020-08-12 10:49:13 94

原创 $().click()和$().on(“click“, “要选择的元素“, function(){})的区别

前言jQuery的出现,大大简化了对dom的操作,但是如果不是仔细阅读api和进行操作,就不知道其中最大的优点和使用方式。就拿$().click()和$().click()和(document).on(‘click’,‘要选择的元素’,function(){})来说,都是点击事件的操作,但是也有不同的地方。$(选择器).click(function(){}):页面中已经存在的DOM(只针对与页面已存在的选择器)。$(ducument).on(‘click’,‘要选择的元素’,function(

2020-07-17 11:01:10 275

原创 window.open()

window.open()方法可以导航到一个特定的URL,也可以打开一个心的浏览器窗口,一般可以接受三个参数:1.要加载的URL2.窗口名称或窗口的目标3.一个特殊的字符串(控制窗口的属性,属性之间用逗号分开)【注】不命名会每次打开新窗口;命名的第一次打开新窗口,之后崽这个窗口中加载 <button type="button" id="btn1">点击打开新窗口</button> window.onload = function() { docu

2020-07-03 15:13:00 87

原创 QQ空间、新浪微博、豆瓣等一键分享API链接代码

一、qq空间&title=默认的文本内容或RICH化转播时的消息体标题,RICH化时最多15个全角字符的长度&url=转播页的url&pics=需要转播的图片url,多张以|连接&summary=分享描述信息&site=分享来源 如:腾讯网(可选)&desc=默认分享理由(可选)&appkey=填写正确的appkey,转播后将显示该key的来源&line1=消息体第一行的文字,最多15个全角字符的长度&line2=

2020-06-29 12:10:45 541

原创 纯css实现rate评分组件

布局:事先生成好的iconfont:<linkrel="stylesheet"href="http://at.alicdn.com/t/font_1356455_c5d3d3ohlbq.css">一个很简洁的布局: <div class="rate-content"> <input type="radio" name="rate"> <input type="radio" name="rate"&g...

2020-06-20 11:53:42 123

原创 jq----dom.trigger(eventType,data)执行dom绑定事件的处理程序和行为

trigger(type,[data])-----简言之:触发事件的处理函数和行为,也就是执行定义事件的执行函数type:一个事件对象或者要触发的事件类型data:传递给事件处理函数的附加参数当相应的事件发生时,任何通过.on()或一个快捷方法绑定的事件处理程序将被触发。但是,它们可以用.trigger()方法。调用 .trigger() 执行处理程序和用户自然的触发该事件,他们的执行顺序时相同的:$('#foo').on('click', function() { alert($

2020-05-15 15:26:53 79

原创 解决谷歌浏览器http链接自动跳转到https的问题

有些网址http协议和https协议是两个服务,有时候需要访问http地址,但chrome会默认转成https请求地址输入 http://baidu.com 会自动跳转到 https://baidu.com这时候清理浏览器缓存之类的都是没有用的,需要进行如下操作,在chrome浏览器地址输入:chrome://net-internals/#hsts在最下面的Delete domain security policies里输入想要删除的网址,注意是去掉http://前缀的网址,如:h

2020-05-15 11:16:58 1135

原创 vue浏览器编译时 节点上出现data-v-xxx和父组件改变子组件的内部样式

一、data-v-xxxvue页面被浏览器解析后,在标签中出现’data-v-xxxxx’标记,如下:原因:在vue文件的css中样式加了scoped<style scoped> .FooterGuide{ color: pink }</style>这是在标记vue文件中css时使用scoped标记产生的,因为要保...

2020-02-22 22:11:19 666

原创 Express+mongoose创建接口(api、跨域问题)

res.send(返回前台的数据);或res.json(返回前台的数据);item.jsvar mongoose = require("mongoose");// 连接数据库mongoose.connect("mongodb://127.0.0.1/todo_list");mongoose.connection.once("open", function() { c...

2020-02-18 11:13:59 171

原创 路径url

一、相对路径目前我们在网页中使用的路径都是相对路径比如: ./an.jpg ../an.jpg an.jpg相对路径指外部文件相对于当前文件所在目录的位置(静态文件)二、绝对路径在实际开发中,由于一些特殊情况网页的路径经常会发生变化比如: http://localhost:8088/abc/bcd/form.html...

2020-02-13 11:12:33 64

原创 node对敏感数据加密(sha1)

一、sha1加密/** * 1.安装 npm install sha1 --save * 2.引入 require("sha1") * 3.加密 sha1(str)*/var sha1 = require("sha1");var pwd = "123456";console.log(sha1(pwd));// 7c4a8d09ca3762af61e59520943dc...

2020-02-13 10:03:27 669

原创 node自启动工具supervisor

supervisor会不停的watch你应用下面的所有文件,发现有文件被修改,就重新载入程序文件这样就实现了部署,修改了程序文件后马上就能看到变更后的结构。再也不用担心每次重启node了1.首先安装supervisornpm install supervisor -g2.使用supervisor代替node命令启动应用supervisor xxx.js...

2020-02-08 11:15:08 118

原创 TypeScript基本语法---10类

相关概念类(Class):定义了一件事物的抽象特点,包含它的属性和方法 对象(Object):类的实例,通过 new 生成 面向对象(OOP)的三大特性:封装、继承、多态 封装(Encapsulation):将对数据的操作细节隐藏起来,只暴露对外的接口。外界调用端不需要(也不可能)知道细节,就能通过对外提供的接口来访问该对象,同时也保证了外界无法任意更改对象内部的数据 继承(Inher...

2020-01-20 18:30:46 85

原创 TypeScript基本语法---09接口

接口 Interfaces接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。接口(Interfaces)是一个很重要的概念,可以理解为一种规范或者约束,用来描述 对象(object) 的形状 或者对 类(class) 的行为 进行抽象。对类的行为抽象将在后面 类与接口 一章中介绍,...

2020-01-20 11:51:41 213

原创 TypeScript基本语法---08联合类型(类型别名 type、字符串字面量类型)

联合类型(Union Types)可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值。表示取值可以为多种类型中的一种,使用 | 分隔每个类型。注意:只能赋值指定的类型,如果赋值其它类型就会报错。创建联合类型的语法格式如下:Type1|Type2|Type3 //联合类型var uniteType: string|number = 1122;console....

2020-01-16 15:08:41 259

原创 TypeScript基本语法---07元组

元组可以看作是数组的拓展,它表示已知元素数量和类型的数组。确切地说,是已知数组中每一个位置上的元素的类型。元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。let x: [string, number];x = ['muzidigbig', 1]; // 运行正常x = [1, 'muzidigbig']; // 报错console...

2020-01-16 14:55:56 181

原创 TypeScript基本语法---06数组

数组解构我们也可以把数组元素赋值给变量,如下所示:var arr: any[] = [12,'muzidigbig'];var [x,y] = arr; // 将数组的两个元素赋值给变量 x 和 yconsole.log(`${x}---${y}`);编译以上代码,得到以下 JavaScript 代码:var arr = [12, 'muzidigbig'];var x...

2020-01-14 15:54:09 185

原创 TypeScript基本语法---05函数

函数返回值有时,我们会希望函数将执行的结果返回到调用它的地方。通过使用 return 语句就可以实现。在使用 return 语句时,函数会停止执行,并返回指定的值。语法格式如下所示:function function_name():return_type { // 语句 return value; } return_type 是返回值的类型。 ...

2020-01-10 15:24:27 99

原创 TypeScript基本语法---04变量声明(类型推断、类型断言)

TypeScript 遵循强类型,如果将不同的类型赋值给变量会编译错误。虽然再前面的章节中已经使用到了变量声明,但那只是简单的使用,下面对变量声明的使用会有一个详细的介绍。变量是一种使用方便的占位符,用于引用计算机内存地址。我们可以把变量看做存储数据的容器。TypeScript 变量的命名规则: 变量名称可以包含数字和字母。 除了下划线 _ 和美元 $ 符号外,不能...

2020-01-10 10:59:53 206

原创 TypeScript基本语法---03细讲any任意值

任意值 Any 用来表示允许赋值为任意类型。什么是任意值类型如果是一个普通类型,在赋值过程中改变类型是不被允许的:let num: number = 1;num = '1';// error TS2322: Type '"1"' is not assignable to type 'number'.但是,如果是 any 类型,则允许被赋值为任意类型。let num...

2020-01-09 14:34:44 1165

空空如也

muzidigbig的留言板

发表于 2020-01-02 最后回复 2020-01-02

系统bubeg

发表于 2018-08-04 最后回复 2018-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除