JavaScript
文章平均质量分 78
spicyboiledfish
这个作者很懒,什么都没留下…
展开
-
使用ES6进行对象数组去重
之前使用new Set数组去重,只可以去重简单字符数组,或者数字数组等。Array.from(new Set(arr))即可。但是这种方案针对对象数组并不适用原创 2020-11-20 17:24:50 · 2162 阅读 · 1 评论 -
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory打包报错解决
对于庞大的项目而言,webpack打包会存在node内存溢出的问题。解决方案如下:webpack4:原先的:"build": "webpack --mode production --config ./config/webpack.config.prod.js",更改后的:"build": "node --max-old-space-size=8192 node_modules/webpack/bin/webpack.js --mode production --config ./原创 2020-06-02 17:47:17 · 516 阅读 · 0 评论 -
RN报错Cannot add a child that doesn't have a YogaNode to a parent without a measure function!
首先贴出报错信息:具体报错:Cannot add a child that doesn't have a YogaNode to a parent without a measure function!(Trying to add a "RCTRawText [text: ]" to a "RCTView")报错原因:1. 在组件代码中添加了注释2. 标签包裹次序出现了问题3. map函数写法有问...原创 2018-06-14 17:58:02 · 2063 阅读 · 0 评论 -
React Native之如何写多个嵌套的三目运算表达式
目前我们使用的React Native或者ReactJS中,经常会使用到三目运算符来展现不同条件状态下的界面效果;此时我们就用到了三目运算啊。举例说明:{this.state.isMyIntro ? <MyIntro /> : null}这就是一个很简单的三目运算,来表达不同页面展示;当this.state.isMyIntro为true的情况下,就展示MyIntro组件;否则就不展示。...原创 2018-04-04 15:00:13 · 5006 阅读 · 0 评论 -
如何解决Android机(主要是华为手机)上人民币符号¥只显示一横
针对¥符号,在部分安卓机上(主要是华为手机)出现,¥变成了少一横。如何解决呢?统一将¥改成 &yen;注意:不需要加空格,末尾是带分号的。原创 2018-03-22 10:25:05 · 6100 阅读 · 2 评论 -
React Native之虚线dashed属性在Android机不兼容问题解决
borderStyle:"dashed" 在安卓机上无效果。iOS中可以正常显示虚线;但是安卓只能显示为实线。我的解决办法:lineOne:{ width:25, height:0, borderWidth:0.8, borderColor:'red', borderStyle:'dashed', borderRadius:0.1,}解决点:1. height...原创 2018-03-20 17:33:51 · 8944 阅读 · 6 评论 -
React Native之无fixed属性,如何开发一个悬浮按钮
赶了一个礼拜终于开发结束,今天提测,抽空我来总结下最近遇到的棘手问题。其实真正让开发成长的是产品和测试啊。很酷炫的效果,如果实现不了,开发心里也是很难过的。。。效果图先展示出来:需求如下:首页默认可以展示50条新闻,新闻做成分页功能,每次请求10条新闻。当页面展示到第20条新闻的时候,才出现悬浮按钮“发现更多精彩”;一直滑动到50条,悬浮按钮一直存在。当页面向上滑动至少于20条新闻时,再将这个悬浮...原创 2018-03-20 17:15:44 · 12186 阅读 · 0 评论 -
自定义开发ionic自带的日历插件ionic-datePicker
一、首先说一下如何将ionic-datePicker插件引入到项目中:1. 在项目根目录中:bower install ionic-datepicker --save 2. 下载完成后,在lib文件夹中就会出现ionic-datepicker文件夹3. 在index.html中引入这个dist中的ionic-datepicker.bundle.min.js文件<script src="li...原创 2018-02-08 11:41:26 · 4653 阅读 · 4 评论 -
如何配置Gradle环境变量
1. 首先,Gradle安装包我已经放在了百度网盘里面(gradle-3.4.1和gradle),链接: https://pan.baidu.com/s/1jIDznVK 密码: 63sd2. 打开你的资源库,Library( command + shift + . ),将你解压好的gradle包放在Library的根目录3. 打开终端,命令1:vi ~/.bash_profile原创 2017-12-28 14:22:08 · 1045 阅读 · 0 评论 -
React Native之react-native run-android运行命令报错问题解决
报错如下:Starting JS server...Building and installing the app on the device (cd android && ./gradlew installDebug...Could not install the app on the device, read the error above for detail...原创 2018-07-18 18:41:23 · 8705 阅读 · 2 评论 -
ReactJS之如何让H5与H5之间路由跳转时传递对象参数
使用如下方法:<Link to={{pathname:"/addBankCard",query: { access_token: "aaa",fundCode: "bbb",from: "ccc"}}}> <div>测试</div </Link>跳转到下一个原创 2018-08-02 14:32:35 · 1568 阅读 · 0 评论 -
git中的遴选cherry-pick和变基rebase的使用
遴选:将2分支上的某些commit提交到3分支上:1. 切到3分支上2. 选中2分支上需要抽取的commit,按shift可以多选3. 点击遴选4. 如果遇到冲突,解决冲突,并标记已解决即可5. 提交注意: 一次遴选过后,想要继续遴选,需要打开终端,执行git cherry-pick --quit 命令才可继续遴选变基:起因:从master分支上开出来的b1分支...原创 2019-03-14 11:29:49 · 4395 阅读 · 2 评论 -
vue中的父级传值到子级的交互
父组件:<div> 我是父亲 <child :is_nike="isNike"></child></div><script> export default { components: { child }, data(){ return { isNike: true...原创 2019-03-20 16:16:42 · 3119 阅读 · 0 评论 -
安装Charles抓包工具
1. 下载地址:https://xclient.info/search/s/Charles/2. 解压密码:本站所有dmg、zip 打开密码均为xclient.info3. 激活方法:4.2.5、4.2.1、4.1.4 直接安装other:将Charles.app拖至应用程序文件夹 复制charles.jar至/Applications/Charles.app...原创 2019-03-13 20:02:39 · 480 阅读 · 0 评论 -
webpack 4系列笔记(1)loader
npm init -y 初始化package.json; -y是代表yes,跳过提问阶段webpack 4.x版本之后,需要再额外安装一个webpack-cli--save => -S 保存至dependencies-dev --save => -D 保存至devDependenciesoutput: { filename: 'main.js', ...原创 2019-07-10 16:10:50 · 333 阅读 · 0 评论 -
splice、slice、substring、substr的区别
splice:含义:只有数组中才有此方法。从数组中添加/删除元素,然后返回被删除的数组。该方法会改变原数组。语法:arrayObject.splice(index,howmany,item1,.....,itemX)示例:var arr = [1,2,3,4];arr.splice(1,1); // [2] 会返回当前删除的这个元素console.log(arr);...原创 2019-07-25 18:27:27 · 261 阅读 · 0 评论 -
HTTP报错401和403详解及解决办法
一、401:1. HTTP 401 错误 - 未授权: (Unauthorized)您的Web服务器认为,客户端发送的 HTTP 数据流是正确的,但进入网址(URL)资源,需要用户身份验证,而相关信息 1)尚未被提供,或 2)已提供但没有通过授权测试。这就是通常所知的“ HTTP基本验证”。需客户端提供的验证请求在 HTTP协议中被定原创 2017-12-26 16:41:30 · 306536 阅读 · 4 评论 -
如何完美的解决时间轴开发中的"绝对定位"导致的Android兼容性问题(断线,断点问题)
这些天,正在赶一个Ionic+phoneGap+Angular1.0的项目整改,具体涉及到的一个时间轴的开发。首先贴出UI设计图,是图中的蓝色部分的开发:备注:由于这部分开发其实跟普通的HTML和CSS开发并无两样,所以我的标题并没有具体写Ionic,应该说这是一种开发思路,供所有开发时间轴会出现断线,断点问题的程序员们参考。一、第一种开发布局方法:兼容性测试:原创 2017-11-21 11:24:20 · 1076 阅读 · 0 评论 -
JavaScript中数组Array.prototype的常用的方法总结
Array构造函数的API,我们可以通过控制台打印Array.prototype可以知道有以下这些方法。这是Array的原型对象的所有方法,对数组而言是可以继承所有的这些方法的:接下来,我们就以12个比较常见常用的API开始说起:1. join() 将数组转化为字符串,并且以某个分隔符进行连接,默认是使用的逗号“ , ”var arr1=[1,2,3];consol原创 2017-04-26 11:40:49 · 5035 阅读 · 0 评论 -
再谈原型链,深刻理解原型及原型链(案例分析,详细图解,一目了然)
一、前言:这个案例稍微有些难度,需要掌握基本的原型、原型链、构造函数、继承等相关知识,如若还没有掌握,不妨看看我的这篇博客,详细介绍了这些知识及关系:http://blog.csdn.net/spicyboiledfish/article/details/71123162原创 2017-05-04 17:12:44 · 1848 阅读 · 0 评论 -
完整原型链详细图解(构造函数、原型、实例化对象)
一、首先说一下什么是构造函数:构造函数:用来在创建对象时初始化对象。特点:构造函数名一般为大写字母开头;与new运算符一起使用来实例化对象。举例:function Person(){} //Person构造函数var p=new Person(); //Person构造函数创建对象,也可叫做实例化二、什么是原型?原型:构造函数在实例化对象的过程中,系统自动创建出来与其相关联的一个空的对象。可以由构造函数.prototype来访问到。举例:在实例原创 2017-05-03 14:28:52 · 14969 阅读 · 0 评论 -
JavaScript之值类型和引用类型的区别
值类型:字符串(string)、数字(number)、布尔(boolean)、null、undefined 1. 基本类型是不可变的,这里的不可变,是说基本类型指向的内存空间不变,例如:var a=3;a=a+2;console.log(a)123123 最后的输出结果是5,这里a变量所指向的值确实变了,但是在计算机内存中,进行的操作是在原先的基础上,又重新请求转载 2017-04-21 18:27:56 · 738 阅读 · 0 评论 -
JavaScript之如何判断数据类型的几种方法
判断数据类型的方法有以下几种:1.typeof: 返回的是string类型 判断基本数据类型:string、number、boolean、function、undefined类型 举例:console.log(typeof('str')); //stringconsole.log(typeof(123)); //n原创 2017-04-21 17:57:16 · 2066 阅读 · 0 评论 -
JavaScript中的变量提升详解
# JavaScript高级第4天## 递归### 概念在函数内部直接或者间接的调用自己,就是递归### 化归思想化繁为简,化难为易,化未知为已知,这样的一个过程,就是化归思想,化归是转化和归结的简称### 练习题 前n项和 n! m^n 斐波那契数列### 实用的案例使用递归获取所有的后代元素## 作用域变量起作用的范围js中能且只能创建作用域的东西是函数### 词法作用域代码写好的时候,根据代码的结构就能确定变量的作用域,这种作用域就是词法作用域#原创 2017-05-16 18:11:59 · 420 阅读 · 0 评论 -
ECMAScript5 Object的新属性方法(包含Object.create()、Object.defineProperty()等)
虽然说现在并不是所有的浏览器都已经支持ECMAScript5的新特性,但相比于ECMAScript4而言ECMAScript5被广大浏览器厂商广泛接受,目前主流的浏览器中只有低版本的IE不支持,其它都或多或少的支持了ECMAScript5的新特性,其中重中之重自然是一切对象的基类型——ObjectObject.create(prototype[,descriptors])这个方法用于创建一转载 2017-04-24 17:56:41 · 603 阅读 · 0 评论 -
JavaScript之闭包
## 闭包### 闭包是什么?闭包是指那些能够访问独立变量的函数### 闭包要解决的问题是什么?在函数外部访问函数内部声明的变量### 闭包的基本模式```jsfunction outer(){ var data = ""; function inner(){ return data; } return inner;}var f = outer();f();```## 循环注册点击事件存在的问题## 循环中setTimeou原创 2017-05-16 09:51:01 · 408 阅读 · 0 评论 -
JavaScript中的一元运算符的应用
一元加法和一元减法大多数人都熟悉一元加法和一元减法,它们在 ECMAScript 中的用法与您高中数学中学到的用法相同。一元加法本质上对数字无任何影响:var iNum = 20;iNum = +iNum;alert(iNum); //输出 "20"这段代码对数字 20 应用了一元加法,返回的还是 20。尽管一元加法对数字无作用,但对字符串却有有趣的效果,会把字符串转换成原创 2017-04-27 11:40:54 · 559 阅读 · 0 评论 -
JavaScript中的isNaN()方法
isNaN()方法是用来判断数字是不是非法数字:是非法数字返回true,不是非法数字返回false;isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。原创 2017-04-27 12:00:20 · 1546 阅读 · 0 评论 -
JavaScript之函数和this作用域
JS中函数的不同调用方式:1. 直接调用 foo();2.方法存在于对象中,调用对象方法 o.method();3.构造器 new Foo();4. call/apply/bind func.call(o);原创 2017-04-27 10:51:56 · 429 阅读 · 0 评论 -
JavaScript之构造函数内有return详解
可以看出:在JavaScript构造函数中:如果return值类型,那么对构造函数没有影响,实例化对象返回空对象;如果return引用类型(数组,函数,对象),那么实例化对象就会返回该引用类型;原创 2017-04-27 15:55:22 · 6302 阅读 · 0 评论 -
ajax请求串行和并行的问题
两个问题:1.有三个ajax请求,如何让这三个ajax请求串行执行,即第一个执行完成后在执行另一个?2.如何让他们并行执行,然后三个请求都执行完成后,再执行某个操作?//串行执行分两种。 //一是用同步模式async: false,三个ajax请求连着写就可以了。 $.ajax({ url: "ajax请求1", async: false,原创 2017-05-30 23:48:57 · 4439 阅读 · 0 评论 -
JavaScript之如何判断对象是否为空和判断对象是否不为空
昨晚加班到十点,测试偶然发现了一个bug,归咎其原因还是类型判断语句不够严格,导致某些时候可以通过而造成了错乱。以下就来说一说,如何进行判断对象是否为空,以及判断对象是否不为空:判断对象为空:isEmpty : function(obj) { if (typeof(obj) != 'number' && (!obj || obj == null || obj == '' || obj原创 2017-07-28 15:08:40 · 1116 阅读 · 0 评论 -
JavaScript之如何让数字千位分割,即每三位一个逗号间隔
提供两种方法:1. 复杂算法:/*包含带小数的数字处理,千位加逗号,分位保留,*/formatNumldy(strNum){ var outputmoney = function (number) { number = number.replace(/\,/g, ""); //把所有的逗号,清除 if (isNaN(nu原创 2017-09-01 18:44:23 · 7685 阅读 · 2 评论 -
JavaScript之浅拷贝和深拷贝
深拷贝和浅拷贝最根本的区别在于是否是真正获取了一个对象的复制实体,而不是引用, 1)深拷贝在计算机中开辟了一块内存地址用于存放复制的对象, 2)而浅拷贝仅仅是指向被复制的内存地址,如果原地址中对象被改变了,那么浅拷贝出来的对象也会相应改变。所谓的浅拷贝,只是拷贝了基本类型的数据,而引用类型数据,复制后也是会发生引用,我们把这种拷贝叫做“浅拷贝”,而深拷贝的话,我们要求复制一个复杂的原创 2017-08-31 14:37:00 · 222 阅读 · 0 评论 -
七牛云如何清理静态资源缓存
七牛云中经常出现 更换图片或者CSS文件、JS文件,发现仍然没有更新上最新的,排除了浏览器的缓存,更改了版本号重新上传等等后,可以尝试以下方法来清理七牛云的缓存:点击屏幕左侧融合CDN->刷新预取->在输入框中输入正确的资源链接提交,即可。原创 2017-10-24 13:44:23 · 3630 阅读 · 1 评论 -
JavaScript之call,apply,bind方法的区别和共同点
总结:call和apply都是改变上下文中的this并立即执行这个函数,bind方法可以让对应的函数想什么时候调就什么时候调用,并且可以将参数在执行的时候添加,常常用来异步调用和setTimeout的时候使用。这是它们的区别,根据自己的实际情况来选择使用。apply和call函数调用的时候,传入的第一个参数就是this指定的对象;如果传入的不是对象类型,会强制转换为对象类型;当传入的是null或者undefined的时候,那么this指向的就是window;原创 2017-04-27 11:24:24 · 705 阅读 · 0 评论