JS生成随机颜色值
1.rgb()颜色值1234567function rgbColor(){ let r = Math.floor(Math.random()*256); let g = Math.floor(Math.random()*256); let b = Math.floor(Math.random()*256); let rgb = `rgb(${r},${g},${b})`; return rgb;}
2.rgba()颜色值12345678function rgbaColor(){ let r = Math.floor(Math.random()*256); let g = Math.floor(Math.random()*256); let b = Math.floor(Math.random()*256); let a = Math.random().toFixed(2) ...
npm、yarn下载包的源地址查看与设置成国内淘宝镜像的地址
1.查询npm,yarn等下载包的源地址npm config get registry
yarn config get registry
2.设置成国内淘宝镜像的地址(加快下载第三方包的速度,服务器在国内,超快的)npm config set registry https://registry.npmmirror.com
yarn config set registry https://registry.npmmirror.com
vue在父组件中改变子组件中的某个样式
vue组件样式穿透在应用vue开发前端项目时,有时候我们需要在父组件中改变子组件的默认样式,比如你的项目中引用了第三方UI库,但是你觉得某个组件的样式你并不喜欢,那么你想改变它的默认样式,那么我们该怎么办呢?
直接上代码,先来看父组件Home.vue的代码
12345678910111213141516171819202122232425// 父组件Home.vue<template> <div class="home"> <h1>This is Home Component!</h1> <HelloWorld/> </div></template><script>// @ is an alias to /srcimport HelloWorld from "@/components/HelloWorld.vue";export default { name: "home", compone ...
JS中构造函数中有return的分析
写在前面简单的总结来说就一句话:如果return的值是基本数据类型的话,则忽略return,直接返回实例化的对象;如果return的值是引用类型的话,则不再返回实例化的对象,而是直接返回return返回的引用类型的值。
demo帮助理解看几个例子
123456function Person(name) { this.name = name return 12306}let p = new Person('Tom')console.log(p);
此种情况下,会忽略return后面的12306,而直接返回Person的实例化对象。
1234567let obj = {age: 26}function Person(name) { this.name = name return obj}let p = new Person('Tom')console.log(p);
此种情况下,由于return的值是一个对象,所以p的值最后会是返回的对象,即obj.
vue脚手架有话说
1.vue3.0脚手架与vue2.x脚手架并存安装最新的vue3.0的脚手架
123npm install -g @vue/cli# ORyarn global add @vue/cli
如果你想同时保留vue2.x的脚手架,你可以这样:
123npm install -g @vue/cli-init# vue init 的运行效果将会跟 vue-cli@2.x 相同vue init webpack my-project
2.vue-cli 2.x版本若是vue2.x脚手架,可以使用vue list来查看可用模板
第一种:
vue init webpack project-name
第二种:
vue init webpack-simple project-name
相对来说,第二种的目录比第一种要简单的多,对于配置项可以自己定制化的去配置;第一种比第二种目录要复杂得多,但是基本配置都比较全;
3.vue-cli 3.0版本
vue create project-name
3.0的脚手架生成的项目,相比前面2.x的版本,又要精简优雅的多,而且没有了webpack.config.js配 ...
webpack使用proxy代理时pathRewrite不生效的分析
写在前面近日来,连续高压的做项目,都没时间来写点东西,今天浏览帖子时发现好多同学在问proxy使用pathRewrite重写路径时不生效的问题,一时兴起就想写篇文章告诉还不清楚的同学们。
概述前端打包工具由于近些年来react、vue等MVVM框架的流行,使得前端的打包工具更倾向于webpack,相比传统的打包工具gulp,grunt等,webpack对于使用vue、react等构建的单页面应用有着超强的亲和力,再加上前端模块化的大趋势,webpack对于处理模块化有着天生的神力,由此webpack自然从众多的打包工具中脱颖而出。
直入主题pathRewrite简单来说,pathRewrite是使用proxy进行代理时,对请求路径进行重定向以匹配到正确的请求地址,话不多说,上代码,我们先来看看不使用pathRewrite的配置:
123456proxy: { '/csdn': { target: 'https://blog.csdn.net', changeOrigin: true }& ...
js中viod运算符总结
写在前面简单来说,void运算符用于对给定的表达式进行求值,然后返回 undefined。该运算符通常用于避免输出不应该输出的值。
常用语法1void expression
官方定义这个运算符能向期望一个表达式的值是undefined的地方插入会产生副作用的表达式。
void 运算符通常只用于获取 undefined的原始值,一般使用void(0)(等同于void 0)。在上述情况中,也可以使用全局变量undefined 来代替(假定其仍是默认值)。
常见用法通过采用void 0取undefined比直接写undefined更靠谱更安全,应该优先采用void 0这种方式;
填充<a>的href确保点击时不会产生页面跳转;填充<image>的src,确保不会向服务器发出垃圾请求;
简单介绍在ES5之前,window下的undefined是可以被重写的,于是导致了某些极端情况下使用undefined会出现一定的差错。所以,用void 0是为了防止undefined被重写而出现判断不准确的情况。 ES5之后的标准中,规定了全局变量下的undefined值为只读,不可改 ...
JS事件对象(event)的一些兼容性写法
获得event对象兼容性写法event || (event = window.event);
获得target兼容型写法event.target||event.srcElement
阻止浏览器默认行为兼容性写法event.preventDefault ? event.preventDefault() : (event.returnValue = false);
阻止冒泡写法event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true);
添加事件监听和取消事件监听12345678910111213141516171819202122232425262728//添加事件监听兼容函数function addHandler(target, eventType, handler){ if(target.addEventListener){//主流浏览器 addHandler = function(target, eventType, handler){ tar ...
react全局状态管理react-redux
简言之,通过react-redux提供的connect方法将UI组件同store连接起来,connect方法可以接受两个参数,第一个为mapStateToProps(接受两个参数,state,ownProps),用于UI组件的输入逻辑,此建立了从外部的数据(即store中的state对象)到UI组件的props的一个映射;第二个参数为mapDispatchToProps(接受两个参数,dispatch,ownProps),用于UI组件的输出逻辑,即用户发出的动作如何变为 Action 对象,从 UI 组件传出去,从而影响外部数据state。
State 的变化必须是 View 导致的,Action 就是 View 发出的通知,表示 State 应该要发生变化了。
Action 是一个对象。其中的type属性是必须的,表示 Action 的名称,其他属性可以自由设置。
对象store的方法dispath用于派发action,store.dispatch(action)是 View 发出 Action 的唯一方法。
通过dispath派发的action会触发reducer,reducer执 ...
webstorm快捷键(win版)
编辑Ctrl + Space 基本代码完成 (任何类、 方法或变量名称)Ctrl + Shift + Enter 完整的语句Ctrl + P (在方法调用参数) 内的参数信息Ctrl + Q 快速的文件查找Ctrl + mouse 在简短的信息的代码Ctrl + F1 在插入符号显示错误或警告的说明Alt + Insert 生成代码…Ctrl + Alt + T 以…(如果……否则,尝试。抓住,等等。)Ctrl + / 行注释与取消注释Ctrl + Shift + / 块注释与取消注释Ctrl + W 选择先后提高代码块Ctrl + Shift + W 减少当前所选内容到以前的状态Alt + Q 上下文信息 Alt + enter 键显示意图采取行动和快速修复Ctrl + Alt + L 格式化代码Ctrl + Alt + I 自动缩进的行数Tab / Shift + Tab 缩进/取消缩进选定的行Ctrl + X , Shift + Delete 剪切到剪贴板的当前行或者所选代码块Ctrl + C,Ctrl + 插入复制当前行或者所选代码块到剪贴板Ctrl + V,Shift + 从 ...