- 博客(67)
- 资源 (2)
- 收藏
- 关注
原创 页面加水印
// 绘制canvas水印function setWatermark (str, domid, params) { var { width, height, angle, opacity, fontSize } = params || {} var dom = "" if (domid) { dom = document.getElementById(domid) } else { dom = document.body } // 固定id便于去重和移除 var
2022-03-18 15:22:36
565
原创 apply, call和bind有什么区别
三者都可以把一个函数应用到其他对象上,call、apply是修改函数的作用域(修改this指向),并且立即执行,而bind是返回了一个新的函数,不是立即执行.apply和call的区别是apply接受数组作为参数,而call是接受逗号分隔的无限多个参数列表,Array.prototype.slice.call(null, args)function getMax(arr){return Math.max.apply(null, arr);}//callfunction foo() {conso
2021-03-18 16:49:29
368
原创 用纯CSS创建一个三角形的原理是什么
把上、左、右三条边隐藏掉(颜色设为 transparent) #demo { width: 0; height: 0; border-width: 20px; border-style: solid; border-color: transparent transparent red transparent; }
2021-03-18 10:25:51
355
原创 CSS3有哪些新特性
新增各种CSS选择器 (: not(.input):所有 class 不是“input”的节点)圆角 (border-radius:8px)多列布局 (multi-column layout)阴影和反射 (Shadow\Reflect)文字特效 (text-shadow)文字渲染 (Text-decoration)线性渐变 (gradient)旋转 (transform)缩放,定位,倾斜,动画,多背景
2021-03-18 10:21:31
87
原创 css中可继承的样式与不可继承的样式
可继承的样式: font-size ,font-family color, UL LI DL DD DT;不可继承的样式:border, padding, margin ,width ,height ;
2021-03-18 10:14:37
417
原创 H5的新特性有哪些
1.画布(Canvas) API2.地理(Geolocation) API3.音频、视频API(audio,video)4.localStorage和sessionStorage5.webworker, websocket6.header,nav,footer,aside,article,section7.web worker是运行在浏览器后台的js程序,他不影响主程序的运行,是另开的一个js线程,可以用这个线程执行复杂的数据操作,然后把操作结果通过postMessage传递给主线程,这样在进行
2021-03-18 09:49:16
656
原创 redux-form表单和表单验证
redux-form表单:1.在reducers层进行form的注入2.在组件层操作 1)利用Filed进行界面布局,里面的component可以进行表单统一功能的封装 2)组件封装内容中可以传递自定义属性也可以传递Filed的属性 3)需要通过reduxForm进行组件的关联(HOC) 4)正是因为利用了reduxForm进行关联,所以表单会具有handleSubmit等属性 5)handleSubmit是一个函数,所以它可以调用,并且传递参数,而这个参数也可以是一个函
2021-03-16 20:18:20
391
原创 Redux
一.redux是什么?状态管理器二.redux工作流程主要包含哪些层次,每个层次的作用是什么?三.redux的三大基本原则是什么?1)单一数据源2)State是只读的3)使用纯函数来执行修改四.什么情况下需要使用redux1)总体原则:大型项目状态管理复杂才用2)某个组件的状态,需要共享3)某个状态需要在任何地方都可以拿到4)一个组件需要改变全局状态5)一个组件需要改变另一个组件的状态五.redux的三个核心概念1.action1)标识要执行行为的对象2)包含2个方面的
2021-03-15 19:34:21
159
原创 实现RN导航的操作步骤
1.核心层的引入,native2.需要考虑的是什么导航模式(stack,drawer,tabs,modal)3.模式的实例化4.用导航容器将导航内容进行包含5.导航内容需要有Navigator以及Screen6.Screen导航内容中需要包含对应的组件7.RN的导航会自动构建导航标题部分详情...
2021-03-15 18:21:40
383
原创 按钮操作和图片的应用
1.按钮操作 1.RN所提供的默认按钮(ios与android界面显示不一致) 2.自定义按钮(TouchableOpacity提供按钮模式的操作,但利用View进行样式布局) 3.第三方按钮插件(yarn add xxx进行安装,然后查看文档,cv操作就完了) 2.图片的应用 1.base64图片的应用,需要设置宽高样式 2.本地图片的应用,在引入的时候需要利用require,使用import无法引入,不一定需要设置宽高样式 3.过程图
2021-03-12 21:00:27
112
原创 类组件的条件与循环语句各自的三种方式
条件语句(类组件) 1.jsx当中的三元运算(在render下面的return里面),不支持且运算&& 2.在render与return之间设置变量,利用js条件语句进行判断,并且在JSX当中输出变量 3.在render上面,与生命周期钩子函数并列,定义函数,在函数当中设置变量,利用js条件语句进行判断,并且需要将变量return返回,然后在jsx中进行函数的调用 条件语句(函数式组件) 1.jsx当中的三元运算(在render下面的return里面),不支
2021-03-12 20:57:55
208
原创 hooks(钩子)
函数式组件:1.属性的差异(属性约束及默认值)2.利用useState进行状态的操作与处理(类似于class组件中的state),而useState我们称为hooks(钩子)3.useState的使用 1)useState是一个函数,函数的参数是默认值,并且它将返回一个数组,该数组有2个内容,第一个是state状态值,第二个是fn方法,该方法可以设置state的状态值 2)需要利用const进行解构赋值,因为useState返回[state,fn],所以const解构以后也会有state以及s
2021-03-12 20:52:11
537
原创 React基础
1 React 介绍1.1 react用于构建用户界面的 JavaScript 库。react核心文件:react.development.jsreact用于操作dom的扩展文件,需要依赖react核心文件:react-dom.development.jsReactDOM.render() // 第一个参数:写入的内容,第二个参数:写入的位置// 不允许放置到 html 和 body 标签中,会报错1.2 虚拟DOM元素① React.createElement()创建虚拟的DOM元素:
2021-03-11 16:09:45
178
原创 小程序支付的流程
不管是小程序还是支付宝或者其它的第三方支付,其支付的主要操作流程都是由后台开发工程师负责的,前端部分主要的工作内容是负责信息的收集、预支订单的发送、资金支付的发起、订单结果的回调等操作,并不负责处理复杂的业务员逻辑操作。(c:customer客户 , b:business商家 ,w:weixin微信)1.用户下单以后客户端需要发送请求给商家服务器端,请求下单支付(C-B)2.从购物车到准备支付,在商家服务器生成一笔订单(订单的编号,订单金额...)(C-B)3.去请求下单接口,创
2021-03-10 20:56:42
470
原创 关于唯一标识openId
一、只有基本信息是没有办法判定用户的唯一识别性二、如果要进行购物车下订单等操作,是需要对用户进行唯一性识别的三、唯一标识openId的重要性 1)用户对信息的识别,用户发布评论、进行购物下订单...需要有一个唯一识别码进行判断,那么基础数据是无法提供的 2.用户在进行高安全性操作的时候,比如订单支付,更为强调用户的唯一身份,并且还需要利用它进行安全性的验证处理四、openid的操作流程 1.客户端需要进行wx.login、uni.login的登录操作,获取code码
2021-03-10 20:51:02
1194
原创 用户授权以及用户基本信息的获取
1.利用的是button的open-type里的getUserInfo,并且利用bindgetuserinfo或者@getuserinfo进行事件绑定2.利用的是API,也就是wx.getUserInfo或者uni.getUserInfo进行授权以后的用户基本信息的获取
2021-03-10 20:45:28
443
原创 vuex的持久化数据
1.为什么需要将vuex数据进行持久化? 1)商品分类页数据信息是否经常会发生变化?答案是否定的 2)对于不经常发生变化的数据,是否还需要浪费资源进行请求?答案是否定的 3)当前操作将产品加入到购物车,是否希望下次再打开的时候购物车信息已经是被清除了?答案是否定的 4)如果商品分类的数据已经在本地的缓存当中,那么是否就可以直接读取本地数据,从而提高应用的性能?答案是肯定的 5)无论哪次打开应用,购物车的数据应该是保留上次操作的结果的。答案是肯定的2.哪些vuex数据需要进行
2021-03-10 20:43:31
270
原创 Vue面试题100问
1.简述一下你对Vue的理解Vue的作者是尤雨溪,一位华裔前Google工程师(Who)Vue项目于2014年正式发布,至今已经有6年历史,而在2020年9月18日发布了3.0.0版本One Piece。(When)Vue是一个渐进式JavaScript 框架,它只负责视图层数据渲染功能,所以就需要很多第三方库来完善更多的扩展功能,以便完成动态构建用户界面的目标。(What)Vue技术体系应用的场景非常的多,包括PC端SPA网站项目、后台管理系统、移动端Webapp的M站开发、微信小程序的实现以
2021-03-03 21:12:16
1589
原创 跨域问题及解决方案
一、为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)二、什么是跨域当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域三、非同源限制【1】无法读取
2021-03-03 21:00:44
311
1
原创 css动画
过渡动画1.过渡动画过渡(transition)动画,就是从初始状态过渡到结束状态这个过程中所产生的动画。所谓的状态就是指大小、位置、颜色、变形(transform)等等这些属性。2.过渡动画的属性transition-property 指定需要过渡的属性,默认值all,指定多个属性用逗号隔开transition-duration 指定过渡持续时间transition-timing-function 指定过渡的动画效果 值: ease(默认,平滑) linear(线性) 等关键字,
2021-03-03 20:58:57
168
1
原创 对象的深拷贝和浅拷贝
在js中,数据被分为基本数据类型和引用数据类型,基本数据类型如字符串 数字等这些不存在深浅拷贝的区别,都是值的拷贝,而引用类型如对象 数组这些,他们的拷贝是对引用地址的拷贝,在深层嵌套的对象或数组的拷贝中,很容易造成浅拷贝, 只是将原对象的引用地址传递给新的对象,当其中一个对象中的值改变,那么另一个对象的值同样也会改变。 而对象深拷贝会复制原对象的所有属性,并且对象和原对象相互独立,不受相互影响。浅拷贝我们现在使用的大多数可以用来复制对象或数组的方法基本都属于浅拷贝层次,对象方面如:对象的O
2021-03-03 20:57:26
308
1
原创 面试题:vue/react/小程序中的key的作用是什么?是否建议使用index下标进行key的设置?能够使用下标进行key的设置呢?为什么?
key的最大作用是为了更加高效的更新虚拟dom 提升性能Vue中key属性的作用 :在vue中使用相同标签元素的过度切换的时候,也需要使用key属性,其目的是为了让vue区分它们在列表渲染时使用key属性v-for1 .当使用v-for更新已经渲染过的元素列表时,默认的使用”旧地复用“策略,如果数据项的顺序被改变,Vue是不会移动dom来匹配数据项的顺序,而是简单的复用此处的每个元素,并且确保他在特定索引下显示已被渲染过的元素2 .这个模式默认是高效的,但是只适用于不依赖子组件状态或临时DO
2021-03-03 20:54:18
713
1
原创 JS 数据类型
在ES5的时候,我们认知的数据类型确实是 6种:Number、String、Boolean、undefined、object、Null。ES6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。谷歌67版本中还出现了一种 bigInt。是指安全存储、操作大整数。(但是很多人不把这个做为一个类型)。JS数据类型Number、String、Boolean、Null、undefined、object、symbol、bigInt。JS数
2021-03-03 20:43:24
205
1
原创 类库和插件
类库:类库指的是已经封装好的 JavaScript 函数或者函数集,可以在程序中独自运行插件:插件指依赖于框架或者类库,不能够脱离框架或类库独自运行的程序常用类库moment.js: JavaScript 日期处理类库day.js:显示日期和时间underscore.js:JS函数工具库loadsh:JS函数工具库three.js:3D动画库axios:http请求库layer:弹出框mock:虚拟数据常用的jquery插件Validation :表单验证插件jBreadCr
2021-03-03 20:26:47
269
1
原创 面试题:HTTP状态码
答:HTTP状态码是服务端返回给客户端(因为这里是web开发,这里的客户端指浏览器客户端)的3位数字代码。这些状态码相当于浏览器和服务器之间的对话信息。它们相互沟通两者之间的事情是正常运行了还是运行失败了或者发生了一些其他的事情(如Continue)状态码有好多种。分为五大类。1.以1开头的信息性状态码:> 该类状态码表示服务器正在处理请求。100 Continue:表明目前为止,所有的请求内容都是可行的,客户端应该继续请求,如果完成,则忽略它。101 Switching Protocol
2021-03-03 20:21:03
674
1
原创 面试题:前端常用开发工具
1.代码编辑器:(1)VsCode(2)Webstorm(3)Linux环境下的Vim2.调试工具:(1)Chrome浏览器(2)Firefox3.包管理工具(1)npm(2)yarn4.现代 JavaScript 应用程序的静态模块打包器webpack5.画图工具:(1)draw.io(2)xmind(3)visio6.文档编辑器(1)word(2)markdown7.版本管理工具Git8.编译工具babel9.代码规范工具(1)Eslint(2)git
2021-03-03 20:12:10
425
1
原创 1px 问题解决与事件
1 利用位图利用背景图片background: repeat-x bottom left url();background-size: 100% 1px;2使用svg方式div { background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' fill='none' stroke-width='1' stroke='red'
2021-03-02 19:13:15
312
原创 面试题:Vue项目中的assets与static目录的差异与区别是什么
Vue项目中的assets与static目录的差异与区别是什么?(static中会复制,assets中会编译)在vue的目录结构中,static是静态资源目录,可以用于放置图片、字体等。而在src目录(开发目录)下,同样提供了一个assets目录,可以用于存放图片,比如logo等。虽然这两个目录都可以用于放置图片,但是在使用上却是有一些差别的。1、相同点:在HTML中使用,两者都可以直接使用路径来访问。注意:访问assets目录下的资源文件使用的是相对路径,而访问static目录下的资源文件
2021-03-02 19:08:27
1103
原创 面试题:什么是事件委托?举例说明事件委托的应用?事件委托能够解决什么问题?
面试题:什么是事件委托?举例说明事件委托的应用?事件委托能够解决什么问题?三级分类 ul与li1.event.target是触发事件的对象,但不一定是绑定事件的对象,如:事件委托,冒泡2.event.currentTarget是触发事件的对象一定是绑定事件的对象,没有事件委托...
2021-03-02 19:02:46
501
原创 面试题:什么是模块化开发?有哪些模块化开发的规范
模块化,就是将一个完整的项目分成几个模块,每一个模块可以单独运行,并且每个模块只负责一项功能。模块化四部分:模块定义,接口暴露,模块引入,模块调用模块化开发是一种管理方式,是一种生产方式,一种解决问题的方案,一个模块就是实现特定功能的文件,因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。JavaScript在早期的设计中就没有模块、包、类的概念,开发者需要模拟出类似的功能,来隔离、组织复杂的JavaScript代码,我们称为模块化。在node.js中,模块就是一个
2021-03-02 18:53:55
1528
原创 面试题:css中有哪些选择器?jquery中有哪些选择器
css 选择器1- 基础选择器1- ID选择器 // #id2- 类名选择器 // .class3- 元素选择器 // element4- 全局选择器 // *5- 并集选择器 selector1,selector2 //选择满足选择器1条件的元素,也选择满足选择器2条件的元素,一起选择到统一设置样式6- 交集选择器 selector1selector2 //要选择的元素既要满足选择器1的条件又要满足选择器2的条件2- 层级选择器1-后代选择器
2021-03-02 18:41:38
729
原创 面试题:浏览器内核有哪几种
Ie: tridentFirefox: gecko欧鹏: webkitSafari: webkitChrome: webkit(分支blink内核)
2021-03-02 18:39:02
187
原创 面试题:o2o,b2c、b2b、c2c、p2p、b2b2c....这些内容是什么意思
B2BB=Business,即企业;C=Customers,即消费者,这样就好理解这些简称了;M=Medium,即媒介B2B(商家对商家进行交易)B2B(也有写成 BTB,是Business-to-Business的缩写)是指企业与企业之间通过专用网络或Internet,进行数据信息的交换、传递,开展交易活动的商业模式。它将企业内部网和企业的产品及服务,通过 B2B 网站或移动客户端与客户紧密结合起来,通过网络的快速反应,为客户提供更好的服务,从而促进企业的业务发展。举个最明显的例子,就是阿里巴巴。
2021-03-02 18:20:36
1745
原创 中小型技术团队的岗位与主要职责
面试题:一、你们之前公司技术部的主要岗位有哪些?岗位产品,UI,前端,后端,测试,运维,项目经理等。二、承担的主要工作职责是什么?产品经理的主要职责产品经理负责项目前期的市场调研和分析工作并深入了解市场。1.深度挖掘用户需求,根据公司产品战略独立完成产品规划。 2.根据客户需求对项目产品的成本核算进行评估,编写和提交评估报告。 3.能独立完成数据分析,数据报表的整理,数据占比分析。 4.负责公司现有项目产品的完善和开发,合作洽谈,合同签订等相关工作。 5.根据市场发展情
2021-03-02 18:17:33
942
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人