- 博客(447)
- 资源 (56)
- 问答 (140)
- 收藏
- 关注
原创 React-Native与移动端开发汇总介绍
生活不容易,时常来总结,作为开发者,今天我们来看看React-Native与移动端开发的现状一、常见的开发方式移动应用开发的方式,目前主要有三种:Native App: 本地应用程序(原生App)Web App:网页应用程序(移动web)Hybrid App:混合应用程序(混合App)对于以上三类开发方式都有各自的优势和劣势,在使用过程中也应该按照自己业务进行具体的选型使用,大致可以按照如此规则进行使用,一般公司App会存在三种技术栈,当然也存在单一类型实现方案的公司,对于三种技术栈的使用,
2021-04-10 22:14:26 3182
原创 h5 Canvas实现圆形时间倒计时进度条
在项目中,我们会遇到需要显示进度条或者倒计时的功能,我们今天就来实现一下。一、效果展示二、准备文件在开发canvas程序时,我们通常需要准备静态html和需要引用的js文件即可,这次我们使用的静态html模板如下:1.html页面<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible
2021-03-21 16:44:56 2128 2
原创 JavaScript中判断数据类型的四种方法
需要注意的是,必须通过Object.prototype.toString.call/apply来获取,而不能直接 new Date().toString(), 从原型链的角度讲,所有对象的原型链最终都指向了Object, 按照JS变量查找规则,其他对象应该也可以直接访问到Object的toString方法,而事实上,大部分的对象都实现了自身的toString方法,这样就可能会导致Object的toString被终止查找,因此要用call来强制执行Object的toString方法。
2020-12-30 10:30:48 708
原创 map()和forEach()的区别和理解
map()和forEach()的区别和理解如果你已经有使用JavaScript的经验,你可能已经知道这两个看似相同的方法:Array.prototype.map()和Array.prototype.forEach()。那么,它们到底有什么区别呢?1.定义我们首先来看一看MDN上对Map和ForEach的定义:forEach(): 针对每一个元素执行提供的函数(executes a provided function once for each array element)。除了抛出异常以外,没
2020-12-23 17:14:41 25693 2
原创 原生JS事件绑定的三种方式
要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定"事件处理函数"。所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称。html标签事件绑定:属性赋值 ,这个在该元素的properties属性中可以查到, 也可以在事件监听中看到。js事件绑定:属性赋值,这个在该元素的properties属性中可以查到,也可以在事件监听中看到。只可以在该元素的事件监听中看到。
2020-12-23 13:53:21 6220 1
原创 简述ajax和axios、fetch的区别
fetch号称是AJAX的替代品,是在ES6出现的,使用了ES6中的promise对象。PS:防止CSRF:就是让你的每个请求都带一个从cookie中拿到的key, 根据浏览器同源策略,假冒的网站是拿不到你cookie中得key的,这样,后台就可以轻松辨别出这个请求是否是用户在假冒网站上的误导输入,从而采取正确的策略。axios 是一个基于 Promise 的 http请求库,可以用在浏览器和 node.js 中,本质上也是对原生XHR的封装,只不过它是Promise 的实现版本,符合最新的ES规则。
2020-12-22 21:36:20 499
原创 call、apply、bind的应用和区别
call、apply、bind的应用和区别首先,要明白这三个函数的存在意义是什么?答案是改变函数执行时的上下文,再具体一点就是改变函数运行时的this指向。有了这个认识,接下来我们使用实例来看一下,怎么使用这三个函数。 let obj1 = {name: 'tom'}; let obj2 = {name: 'jack'}; function Child(name){ this.name = name; } Child.prototype = { constr
2020-12-22 20:08:49 2858
原创 鸿蒙系统2.0开发使用分享初体验
截止目前,已经正常运行了下面来说说我的看法.1.貌似没有热更新,在使用了react-native的情况下,修改代码之后没看到热更新,还有点小失望2.开发方式多样化,支持各种设备的开发,手机、手表、车载、TV、Pad等设备.
2020-12-20 22:13:58 4765 3
原创 Java Web中JavaBean的使用
2)设置jsp属性,在实际应用开发中,定义JavaBean之后需要在jsp页面中设置JavaBean组件的属性,也就是调用setter方法,下面有两种方式进行设置 b)使用标签,由于属性值的来源可以是字符串,请求参数或者表达式等,因此jsp:setProperty动作的基本语法规范要根据相
2020-11-18 19:11:14 1834
原创 函数防抖和函数节流原理理解
防抖:interval时间内,如果有fn再次触发,则会清除上次的函数执行,重新设置新的延迟函数,如果超过interval事件间隔,则会执行传入的fn函数。一般是用来,用户输入有操作时,暂时不执行动作,等待没有新操作时,进行相应响应,例如用户名输入校验的情况,可以等待用户输入完成后再发送请求去校验。一般是用在必须执行这个动作,但是不能够执行太频繁的情况下,例如滚动条滚动时函数的处理,可以通过节流适当减少响应次数;函数内容执行完毕,将lock置为true之后,才会再次执行,从而达到减少fn响应次数。
2020-04-25 21:45:57 4719 2
原创 如何优雅的展示动态图标lottie-react-native
Lottie是Airbnb开源的一个支持 Android、iOS 以及 ReactNative,利用Json文件的方式快速实现动画效果的库。2.在左侧的项目浏览器中,右键单击您的应用程序名称,然后单击新建文件…为项目创建一个空的Swift文件(添加时请确保选择了target是“您的应用名称”)如果实在找不到了,就使用这里的json文件->项目中,需要使用到动态图标,发现又好用的库,在这里分享一下,需要使用的工具库为。软件中的动画特效,以json文件的方式导出,来实现动画的效果。还能够指定的更改图层的颜色。
2020-04-04 11:24:41 3809
原创 vue源码(六)-vue组件化机制
vue源码(六)-vue组件化机制在注册一个组件的时候,我们始终需要给它一个名字。比如在全局注册的时候我们已经看到了:Vue.component('my-component-name', { /* ... */ })该组件名就是 Vue.component 的第一个参数。1.组件名大小写定义组件名的方式有两种:使用 kebab-caseVue.component('my-com...
2019-12-11 12:56:51 605
原创 vue源码(五)-vue虚拟dom和diff对比
vue源码(五)-vue虚拟dom一、概念虚拟DOM(Virtual DOM)是对DOM的JS抽象表示,它们是JS对象,能够描述DOM结构和关系。应用程序 的各种状态变化会作用于虚拟DOM,最终映射到DOM上。二、优点虚拟DOM轻量、快速:当它们发生变化时通过新旧虚拟DOM比对可以得到最小DOM操作量,从 而提升性能和用户体验。跨平台:将虚拟dom更新转换为不同运行时特殊操作实现跨平台...
2019-12-10 16:41:26 798
原创 vue源码(四)-vue项目配置和入口文件,数据响应化处理
vue源码(四)-vue入口文件和项目配置,数据响应处理一、获取vue项目代码项目地址:https://github.com/vuejs/vue迁出项目: git clone https://github.com/vuejs/vue.git 当前版本号:2.6.10二、文件结构如上所示文件结构:dist: 所有产出的文件地址examples:官方案例,可参考flow:强类型编...
2019-12-02 18:17:34 1274
原创 vue源码(三)-vue组件插件开发
vue源码(三)-vue组件插件开发插件通常用来为 Vue 添加全局功能。插件的功能范围没有严格的限制——一般有下面几种:添加全局方法或者属性。如: vue-custom-element添加全局资源:指令/过滤器/过渡等。如 vue-touch通过全局混入来添加一些组件选项。如 vue-router添加 Vue 实例方法,通过把它们添加到 Vue.prototype 上实...
2019-11-22 10:42:13 447
原创 vue源码(二)-vue组件通信方式
vue源码(二)-vue组件通信方式一、组件化组件化开发能够提高开发效率,方便重复使用简化调试步骤,提升项目的可维护性,便于多人系统开发二、通信方式1.父组件->子组件######1.1通过属性props进行传递子组件进行定义一个字段msg接受父组件传递的参数<template> <div class="hello"> <h...
2019-11-11 23:20:21 326
原创 vue源码(一)-搭建简单的vue项目
vue源码(一)-搭建简单的vue项目一、下载vue到官网直接下载开发版本vue:https://cn.vuejs.org/v2/guide/installation.html下载完成后,会有一个vue.js文件二、嵌入到网页创建html文件,将下载好的vue.js文件嵌入到html中<!DOCTYPE html><html lang="en"><h...
2019-11-10 12:17:46 1786
原创 react-native树形结构选择组件
能够按照数据结构进行展开树状结构,通常用来进行展示具有明显层级关系的数据结构,展示的同时,能够进行指定默认值展开和默认选中值,能够进行单选和多选操作,进行通过传递props禁止选择等功能.
2019-09-06 15:02:09 4034 6
原创 解决 canvas 在高清屏中绘制模糊的问题
我们继续,举例来说,假设 devicePixelRatio 的值为 2 ,一张 100×100 像素大小的图片,在 Retina 屏幕下,会用 2 个像素点的宽度去渲染图片的 1 个像素点,因此该图片在 Retina 屏幕上实际会占据 200×200 像素的空间,但是我们总的像素点只有100×100,这就相当于图片被放大了一倍,因此图片会变得模糊。因此,要做 Retina 屏适配,关键是知道当前屏幕的设备像素比,然后将 canvas 放大到该设备像素比来绘制,然后将 canvas 压缩到一倍来展示。
2019-07-30 10:35:00 9497 5
原创 JavaScript键盘鼠标监听功能
实际应用中,我们会遇到监听按键输入和鼠标点击事件,在这里我们进行对鼠标和键盘事件的总结.#### KeyboardEventKeyboardEvent 对象描述了键盘的交互方式。 每个事件都描述了一个按键(Each event describes a key);事件类型keydown, keypress 与 keyup 可以确定是哪种事件在活动。 KeyboardEvent 表示刚刚发生在按键上的事情。 当你需要处理文本输入的时候,使用 HTML5 input 事件代替。例如,用户使用手持系统如平板
2019-06-11 10:31:20 6222
原创 h5 Canvas转换为图片格式并下载
HTMLCanvasElement.toDataURL() 方法返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。图片的分辨率为96dpi。如果画布的高度或宽度是0,那么会返回字符串“data:,”。如果传入的类型非“image/png”,但是返回的值以“data:image/png”开头,那么该传入的类型...
2019-06-05 00:03:05 7704
原创 CSS自动换行、强制不换行、强制断行、超出显示省略号
CSS样式设置自动换行、强制不换行、强制断行、超出显示省略号P标签是默认是自动换行的,因此设置好宽度之后,能够较好的实现效果,如下所示,当设置div宽度为固定值时,p中内容能够自动换行:但是最近的项目中发现,使用ajax加载数据之后,p标签内的内容没有换行,导致布局错乱,于是尝试着使用换行样式,虽然解决了问题,当时获取的数据是一长串的数字,浏览器应该是对数字和英文单词处理方式相近,不会截断。...
2019-05-31 00:20:08 92103
转载 m3u8格式视频源列表
平时,需要测试m3u8格式视频的播放,会使用一些可用的播放源,整理在这里: const sourceList = [ { name: 'cctv1', src: 'http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8' }, { name: 'cctv2', src: 'http://ivi.bupt.edu.cn/hls/cc...
2019-05-19 17:41:15 102171 4
原创 如何检测页面加载完成
document.readyState1.定义一个document 的 document.readyState 属性描述了文档的加载状态。2.值一个文档的 readyState 可以是以下值之一:loading / 加载document 仍在加载。interactive / 互动文档已经完成加载,文档已被解析,但是诸如图像,样式表和框架之类的子资源仍在加载。compl...
2019-04-16 22:19:17 1230
原创 h5 Canvas正多边形绘制
在之前文章中,我们使用线段进行绘制过矩形,使用arc,arcTo绘制过圆弧和圆形,但是Canvas还能够进行绘制其他图形,比如三角形、六边形、八边形等.这篇文章主要就是说明如何绘制多边形.JS效果如下:上述代码,我们进行绘制了一组根据时间进行变化的生成的多边形,通过方法drawHorizontalAxis绘制横向坐标轴,方法drawVerticalAxis绘制纵向坐标轴,通过方法getPolygonPoints进行计算获取多边形中所有的点,进行为后面连线时连接点作准备工作,通过createPo
2019-03-23 14:18:16 2516
原创 h5 Canvas圆弧与圆形的绘制
圆和圆弧是图形中基本图形之一.在Canvas中,CanvasRenderingContext2D对象提供了两个方法(arc()和arcTo())来绘制圆和圆弧。仅难了解角度和弧度之间的关系是不够的,我们还需要知道怎么使用JavaScript来实现角度和弧度之间的换算。一个π大约是3.141592653589793,在JavaScript中对应的是Math.PI。那么角度和弧度之间的换算:同样的:为了方便计算和使用,可以将其封装成JavaScript函数:比如我们要将30deg转换成rad,可以直接使用:
2019-02-27 21:57:00 2347
原创 h5 Canvas线段的绘制
在Canvas中,线段也是路径中的一种,被称之为线性路径。在Canvas中绘制线性路径主要用到moveTo(x,y)、lineTo(x,y)和stroke()几个方法。通常创建线条的方法是moveTo()和lineTo()方法,但是要使线性路径出现在canvas之中,我们必须使用上面提到的stroke()方法创建线条const canvas = document.getElementByI...
2019-02-27 16:04:53 1629
原创 h5 Canvas矩形的绘制
h5 Canvas矩形的绘制1.绘制矩形api在Canvas中提供了绘制矩形的API:fillRect(x, y, width, height):绘制一个填充的矩形strokeRect(x, y, width, height):绘制一个矩形的边框clearRect(x, y, width, height):清除指定矩形区域,让清除部分完全透明除此之外还可以通过Canvas中Canv...
2019-02-26 16:05:43 9697
原创 h5 Canvas时钟制作
canvas可以说是html5中最强大的元素之一下面我们就使用canvas来进行绘制一个时钟在绘制之前,我们需要知道需要绘制的元素都有哪些,其中包括钟最外边的圆圈、钟表上的数字、钟表上的指针,还有定时器下面确定使用的html页面:1.h5Clock.html&amp;amp;lt;!DOCTYPE html&amp;amp;gt;&amp;amp;lt;html lang=&amp;quot;en&amp;quot;
2019-02-25 12:47:44 803
转载 adb常用命令总结
ADB命令使用大全ADB是什么ADB的全称为Android Debug Bridge:android调试桥梁,下图为Android官方对adb的介绍:可以看出,Android的初衷是用adb这样的一个工具来协助开发人员在开发android应用的过程中更快更好的调试apk,因此adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能;...
2019-01-23 21:55:55 2152
原创 React中createElement 和 cloneElement 的区别
React.cloneElement()与 React.createElement()相似,不同的是它传入的第一个参数element是一个 React 元素,而不是标签名或组件。如下,使用cloneElement进行创建jsx元素,在这里我们将createElement创建的element对应的 React 元素做为基点,然后进行克隆,在克隆的过程中,进行添加。有了以上知识的认识,我们可以在以后的组件封装中进行更加React化的设计,通过封装公共组件供其他页面迭代使用,进行我们业务功能更加接近的封装。
2019-01-21 16:13:18 12214 1
原创 JavaScript闭包的自我修养
1.概述闭包的定义很简单:如下代码函数 A 返回了一个函数 B,并且函数 B 中使用了函数 A 的变量,函数 B 就被称为闭包。function A() { let a = 1 function B() { console.log(a) } return B}你是否会疑惑,为什么函数 A 已经弹出调用栈了,为什么函数 B 还能引用到函数 A 中的变量。因为函数...
2019-01-16 18:33:24 728 1
原创 JavaScript内存分配及垃圾回收机制
node垃圾回收机制V8 实现了准确式 GC,GC 算法采用了分代式垃圾回收机制。因此,V8 将内存(堆)分为新生代和老生代两部分。1.新生代算法新生代中的对象一般存活时间较短,使用 Scavenge GC 算法(一种清理的执行机制)。在新生代空间中,内存空间分为两部分,分别为 From 空间和 To 空间。在这两个空间中,必定有一个空间是使用的,另一个空间是空闲的。新分配的对象会被放入 ...
2019-01-16 15:42:15 639
原创 使用jarsigner进行apk签名
签名签名是对要发布的apk文件作标记,确保你的apk文件有唯一的身份归属认证,只有相同签名和相同包名的文件才可以覆盖安装并保留用户信息。签名apkjarsigner也存在于Java JDK的安装包当中,所以安装好了Java环境的话,可以直接在命令行使用。重新签名命令jarsigner -verbose -keystore abc.keystore -signedjar com.tence...
2019-01-15 17:33:46 2761
原创 'config.h' file not found'和/Libraries/WebSocket/libfishhook.a'-Xcode10,React-Native更新问题
1.React Native 中在xcode10运行提示 ‘config.h’ file not found解决方法:在项目终端执行以下命令cd node_modules/react-native/third-party/glog-0.3.4../../scripts/ios-configure-glog.shclean the project and build again, th...
2019-01-06 20:10:56 753
原创 2018年终总结,2019年年度计划
今天是2019年1月1日,新的一年开始了,在过去的一年里学习与规划有点杂乱,没有一个统一的计划,基本是在需要使用什么技术就去学习,而不会专门去钻研一项技术.效果不是很好.2019年计划进行有规律地学习,主要涉及到以下三个方面:一、学习android底层知识与实践技术通过购买基本知识书籍和反向工程进行加深知识的理解二、学习React-Native技术底层知识多参考别人已经上架使用的项目,进...
2019-01-01 14:23:07 2978
原创 使用Date对象中toDateString判断日期是否当天
var str = 1478508411000;console.log(new Date(str).toDateString());if (new Date(str).toDateString() === new Date().toDateString()) {//今天console.log(“当天”);} else if (new Date(str) &amp;amp;amp;lt; new Date()){...
2018-11-18 17:20:06 5248
原创 React-Native状态栏组件(StatusBar)的使用详解
StatusBar 是手机顶部的状态条。StatusBar 是 React Native 0.20 起新增的跨平台组件,它可以用来设置并动态改变设备的状态栏显示特性。React-Native项目可以同时加载多个 StatusBar 组件,这些 StatusBar 组件的属性可以按照加载的顺序进行合并。一种常见的用法就是:我们可以在使用 Navigator 的时候,针对不同的路由页面设置特殊的状态栏样式。
2018-11-01 00:06:53 18281 2
原创 duplicate entry: com/google/gson/FieldNamingPolicy$5.class
duplicate entry: com/google/gson/FieldNamingPolicy$5.class1.问题说明在使用gson中的时候,出现如下错误:Execution failed for task ‘:app:transformClassesWithJarMergingForRelease’.com.android.build.api.transform.Transf...
2018-10-28 17:01:30 1681
二维码的生成与扫描
2016-07-09
Java开发二维码扫一扫名片技术
2016-07-05
SQLServer2014连接数据库驱动
2016-06-23
基于微信公众号电影院选座购票系统.zip
2023-03-28
客户端基于微信小程序的的移动学习微平台.zip
2023-03-27
基于h5的美食美客分享系统的设计与实现
2023-03-27
google-chrome-stable_current_amd64.deb浏览器
2017-08-02
google-chrome-stable_current_x86_64.rpm浏览器
2017-08-02
sqlserver中SXS文件夹压缩包
2017-05-15
google-chrome-stable_current_amd64.deb格式下载
2017-01-04
google-chrome-stable_current_x86_64.rpm
2017-01-04
我的博客网站静态html
2016-10-15
VisualSVN-Server-3.4.2-win32.msi
2016-08-30
哪里有可以白嫖的网络空间,用来存放几段视频文件,用于html中引用
2021-04-09
react-native能否在0.62版本中配置继续使用link方式进行管理依赖
2020-10-17
app显示的名称如何添加样式
2020-04-22
在geojson数据坐标点中如何获取中心点
2019-06-26
如何使用前端代码进行将png转换为svg
2019-06-04
有没有开源免费使用的脑图库,提供下
2019-04-19
react-native在安卓中state中数据会保存在哪里
2018-12-26
多个输入框时怎么控制当我当前输入框底部还有输入框的时候键盘不隐藏
2018-12-10
ios打包时导入的自定义框架framework需要签名吗?
2018-09-07
react-native访问安卓原生VideoView组件报错,错误如下所示
2018-08-01
react-native打包release版本闪退
2018-07-10
navigator.geolocation使用的时候超时,不能够获取到经纬度
2018-07-06
react-native中MapView的使用
2018-06-20
react-native中数字的单位是多少
2018-05-24
url语法问题,url的字段说明
2018-04-24
let的变量范围,for循环中值得获取
2017-12-11
如何查看js中object.keys的实现原理代码
2017-11-07
js中如何通过正则表达式提取出一个网页中的a标签
2017-10-11
在js中如何把时间戳转换为12小时制
2017-09-20
ACE编辑器怎么实现行间距的控制
2017-09-19
Form表单的提交,如何获取表单中的值?
2017-08-30
正则表达式的意思?/\$\{.*\}/
2017-08-13
React中 变量的使用和props的传递
2017-08-10
如何调整antdesign中InputNumber的宽度
2017-08-09
在一行包含英文和中文字符串中,如何判断中文字段??
2017-08-05
IDE中国际化的设置,如何在一个IDE中实现语言的自动切换
2017-08-02
如何在一篇含有字母和中文汉字的文章中读取中文,急急急!!!
2017-08-01
less的使用,在使用标签导入时出错
2017-07-14
SQL server查询没有结果集
2017-05-17
dsl语言是什么东西??开发时需要使用吗?
2017-05-05
启用 Windows 功能 NetFx3 时出错,错误代码: -2146498529
2017-05-03
此快捷方式访问的项目无法访问 你可能没有适当的权限
2017-04-28
使用windows系统时,webpack打包出错,提示需要一个表达式
2017-04-12
如何在eclipse使用最新的ecmascript2015
2017-04-11
基于Web的高校实验预约管理系统
2017-04-07
js怎么判断一个数据是数组类型,还有其他方法吗??
2017-03-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人