自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

努力学习的肥宅

记录一些前端学习和工作中遇到的问题解决

  • 博客(155)
  • 收藏
  • 关注

原创 cannot read property 'key' of undefined!!!

我在网上搜了一下报这个错的主要问题,发现主要可能是key值不唯一,我看了一下后台返回的数据才发现最后一个数据是测试的,跟倒数第二个的value值(也就是我拿来当key的数据是相同所以才导致出现这个问题),我是直接叫后台删了那个测试数据...

2021-06-01 09:56:00 853

原创 Flutter新建项目运行报错Exception in thread "main" java.net.ConnectException: Connection timed out: connect...

问题:Flutter create新建项目之后运行,一直报错显示Exception in thread "main" java.net.ConnectException: Connection timed out: connectException in thread "main" java.net.ConnectException: Connection timed out: connec...

2021-05-14 10:38:00 7445 8

原创 web页面与多页应用(布局之浮动)

1.使用浮动来设置二列布局利用浮动和块级元素实现的左侧宽度固定,右侧自适应宽度的布局方式<div class="left">left</div><div class="right">right</div>/* css */.left { float: left; width: 100px; background-col...

2020-07-11 18:40:00 280

原创 最近项目中用到的方法

1.获取小数点后的字符串(情景时需要获取文件类型 你好.png/新生手册.doc)var filename = '新生.doc'filename.substring(filename.lastIndexOf('.') + 1)或者filename.split('.')[1]2.判断IOS还是AndroidappSource () { const u = navi...

2020-07-03 11:30:00 113

原创 web页面与多页应用(布局示例)

1.单列布局(类似微博)<!-- html --><div class="WB_frame">...</div>/* css */.WB_frame { width: 1000px; margin: 0 auto;}2.两列布局一则固定,另一侧填充剩余宽度!-- html --><div class=“w...

2020-06-20 19:48:00 441

原创 web页面与多页应用(布局示例普通文档流)

1.单列布局(类似微博)<!-- html --><div class="WB_frame">...</div>/* css */.WB_frame { width: 1000px; margin: 0 auto;}2.两列布局一则固定,另一侧填充剩余宽度!-- html --><div class=“w...

2020-06-20 19:48:00 99

原创 web页面与多页应用(一)

一 渲染引擎影响解析生成DOM树的时间——标签数量和嵌套层级影响到狗偶见渲染树的性能——样式匹配方式和布局与绘制的关系    在选择器的右边尽量使用具有唯一性的选择器,而不要使用标签选择器这类容易匹配的选择器           布局和绘制是按先后顺序执行,重新布局一定会进行重新绘制。而重新绘制不一定引起重新布局。 渲染页面大致流程解析HTML...

2020-06-20 19:36:00 216

原创 Flutter,webview里面实现上传和下载的功能

前提:Flutter 与 webview(vue) 一起开发的项目开始的时候并没有想到什么移动端的,所以上传就用input,下载就用iframe来实现,然而真机实测的时候,input那个方法IOS支持但是安卓不支持,下载iframe那个方法则两端都不支持,于是,我们选择使用Flutter来实现.下载功能.首先在vue上面写个按钮触发,这里主要是用到Flutter与webview交互...

2020-06-02 11:28:00 1244

原创 Flutter项目删除了相关的dart文件之后运行flutter run或者 F5编译运行时会报这个错误.... were declared as an inputs, but did not exi...

我所做的项目报的错误是这样的因为报错内容主要是".... were declared as an inputs, but did not exist. Check the definition of target:kernel_snapshot for errors",应该时删除了文件之后,运行时找不到对应的文件,感觉时缓存问题,没有自动更新到那个文件(kernel_snaps...

2020-04-09 09:59:00 357

原创 vue项目中,点击输入框的时候,弹出的键盘挡住了输入框,需要把输入框展示在可见区域中,不被遮挡...

项目中,点击输入框的时候,弹出来的键盘挡住了输入框,输入框不在可视区域里面,主要解决代码,加个监听来看是否点击了输入框,滚动到可视区域Element.scrollIntoView()方法让当前的元素滚动到浏览器窗口的可视区域内。而Element.scrollIntoViewIfNeeded()方法也是用来将不在浏览器窗口的可见区域内的元素滚动到浏览器窗口的可见区域。 wi...

2020-04-08 16:26:00 2752 2

原创 在IE浏览器上,min-hheight:unset不生效问题解决,把unset换成auto

问题:在chrome浏览器是正常,在IE浏览器就但是在IE浏览器的时候Chrome浏览器CSSmin-height:unset,但是IE读取的缺失min-height:40px,查了caniuse,min-height在IE是可以用的,唯一可能就是min-height:unset可能在IE不生效,后来我看了一下caniuse,将uset改成了auto,之后IE浏...

2020-03-30 10:19:00 1404

原创 在IE浏览器上,min-hheight:unset/line-hight:unset不生效问题解决,把unset换成auto,问题只要时IE浏览器设置unset不生效...

问题:在chrome浏览器是正常,在IE浏览器就但是在IE浏览器的时候Chrome浏览器CSSmin-height:unset,但是IE读取的缺失min-height:40px,查了caniuse,min-height在IE是可以用的,唯一可能就是min-height:unset可能在IE不生效,后来我看了一下caniuse,将uset改成了auto,之后IE浏览器就可以识别出...

2020-03-30 10:19:00 390

原创 本人修改了,需要把新的AndroidManifest.xml 覆盖原来的,AndroidManifest.xml 覆盖问题

问题描述:我同事改了Flutter的一点东西,其中需要把他的那个AndroidManifest.xml 文件覆盖掉我本地的,于是我覆盖之后,flutter run运行之后就报错一开始我也看不懂,因为昨天才配好环境能够运行,但是我新建一个Flutter项目看了一下本地的这个文件和需要覆盖的文件有什么不同,发现同事弄得这里packages跟我有出入,于是我根据提示改为我本...

2020-03-24 15:25:00 488

原创 使用Filter来过滤掉需要排除的数组对象

问题描述:有个地方需要根据判断是否是总分公司来控制转正入口的显影,list是获取到的所有入口的数组,需要判断数组里哪个对象的title为"员工转正",本来打算用for循环的,之后发现filter挺方便而且代码少获取到的list大概时这样子的 1 [ 2 { 3 title:"员工请假", 4 img: './路径', 5 path:'./路径'...

2020-03-20 09:51:00 1412

原创 H5页面,输入框的光标,如果页面上下滑动光标停留在页面上,除了输入框外,松手过了一段时间才跑回输入框里面...

有点类似这种情况 其中一个博主描述得比较详细,主要还有图我是直接在App.vue主文件那里添加一下代码,主要是添加一个监听器,如果touchmove的时候就会触发让其失焦,就会消失那个光标,需要再次点击输入框才会显示,就不会存在那个奇奇怪怪的问题.虽然有点投机取巧,但是起码不会出现那个现象 1 created () { 2 this.touchMove() ...

2020-03-19 16:28:00 481

原创 正则:判断为数字,输入的金额整数位不得超过9位,小数位不得超过2位!

直接贴出来 小数点前最多9位小数点后最多只有两位而且不为负数/^\d{1,9}$|^\d{1,9}[.]\d{1,2}$/,/^\d{1,9}(\.\d{1,2})?$/,

2020-01-16 11:27:00 2784

原创 iview的input框校验添加v-modal.number会影响校验,还是依照API使用number来转换number类型...

公司项目使用了iview2.0版本的,有一个需求是需要把里面的值换成number类型并且校验,代码大致如下,使用了v-modal.number来实现转换, <FormItem label="学号" prop="name"> <Input v-model.number=" Student.Sno" placeholder="Enter name"&g...

2020-01-16 11:22:00 650

原创 H5解决安卓软键盘弹出遮蔽的方法

首先先判断是否为安卓,是的话才添加事件监听,获取焦点元素判断是否为input或者textarea类型,是的话,Element.scrollIntoView()方法会让当前的元素滚动到浏览器窗口的可视区域内 created () { var u = navigator.userAgent if (u.indexOf('Android') > -1 || u....

2020-01-16 11:08:00 820

原创 作用域闭包:模块模式

模块模式需要具备两个必要条件1.必须有外部的封闭函数,该函数必须至少被调用一次(每次调用都会创建一个新的模块实例)2.封闭函数必须返回至少一个内部函数,这样内部函数才能在私有作用域中形成闭包,并且可以访问或则和修改私有状态一个具有函数属性的对象本身并不是真正的模块.从方便观察的角度看,一个从函数所返回的,只有数据属性而没有闭包函数的对象并不是真正的模块function...

2020-01-02 14:37:00 90

原创 作用于闭包:循环与闭包

// 预期结果:一直打印6for(var i=1;i<=5;i++){ setTimeout(function(){ console.log(i); },i*1000) } 延迟函数的回调会在结束时才执行.事实上,当定时器运行时即使每个迭代中执行setTimeout(....,0),所有回调函数依然是循环结束后才会被执行.到底是什么"缺陷"导致它的...

2020-01-02 14:17:00 81

原创 建议20:建议通过Function扩展类型

  JavaScript允许为语言的基本数据类型定义方法.通过Object.prototype添加原型方法,该方法可被所有的对象,.这样的方法对函数,数组,字符串,数字,正则表达式和布尔值都适用.例如,通过Function.prototype增加方法,使该方法对所有函数可用Function.prototype.method=function(name,func){ this.pr...

2019-12-31 14:24:00 56

原创 建议19:比较函数调用和引用本质

  在被调用前,JavaScript函数仅是词法意思上的机构,没有实际的价值,在预编译函数时,也仅是简单地分析函数的词法,语法结构,并根据函数标识符预定一个函数占据的内部空间,其内部结构和逻辑并没有被运行.但是,一旦函数被调用执行,其上下文环境也会随之财产生.可以说,上下文环境是函数运行期的一个动态环境,它是一个动态概念,与函数的静态性截然不同的概念.每个函数都有一个独立的上下文环境(执...

2019-12-31 11:44:00 154

原创 建议18:再循环体和异步回调中慎重使用闭包

  闭包在开发中具有重要的应用价值,由于闭包具有持久性,生成的闭包不会立即被销毁,因此它会持续占用系统资源.如果大量使用闭包,将会造成系统资源紧张,甚至导致内存溢出等错误.另外,闭包在回调函数中会带来负面影响,因此在使用时应该慎重.  下面示例利用闭包来存储变量所有变化的值function f(x){ var a = []; for(var i = 0;i<x.len...

2019-12-31 10:48:00 59

原创 建议17:使用闭包跨域开发

  闭包是指词法表示包括不必计算的变量的函数,闭包函数能够使用函数外定义的变量.  闭包结构有以喜爱盎格比较鲜明的特性:  (1)封闭性  外界无法访问闭包内部的数据,如果在比包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口.  (2)持久性  对于一般函数来说,在调用完毕后,系统会自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保持存在系统中,闭...

2019-12-31 10:05:00 103

原创 建议16:比较函数调用模式

  在JavaScript中,函数就是对象,对象是"名/值"对集合,并拥有一个到原型对象的隐藏连接.对象字面量产生的对象连接到object.prototype,函数对象连接到Function.prototype,该原型对象本身连接到object.prototype.每个函数在创建时都有两个附加的隐藏属性:函数的上下文和实现函数行为的代码.  每个函数对象在创建时也随之带一个protot...

2019-12-30 11:46:00 75

原创 建议15:推荐动态调用函数

  调用函数更便捷的方式是使用Function对象的call和apply方法.apply和call方法在本质上没有太大的区别,只不过他们传递给函数的参数方式不同,apply是以数组形式进行参数传递,而call方法可以同时传递多个值.  如果某个函数仅能够接收多个参数列表,而现在希望把一个数组的所有元素作为参数进行传递,那么使用apply方法就显得非常便利.function max(...

2019-12-27 16:17:00 77

原创 建议14:灵活使用Arguments

  Javascript支持Arguments机制.Arguments是一个为数组,可以通过数组下标形式获取该集合中传递给函数的参数值.例如:下面函数中,没有指定形参,但在函数体内通过Arguments对象可以获取传递给该函数的每个参数值.function f(){ for(var i = 0;i<arguments.length;i++){ console.log...

2019-12-25 15:28:00 81

原创 建议13:禁用Function构造函数

  定义函数的方法包括3种:function语句,Function构造函数和函数直接量.不管用哪种方法定义函数,它们都是Function对象的实例,并将继承Function对象所有默认或自定义的方法和属性,//使用function语句编写函数function f(x){ return x}//使用Function()构造函数克隆函数var f = new Function...

2019-12-25 11:31:00 110

原创 建议12:不拘泥于数字下标

  数组下标默认为大于或等于0的整数,不过JavaScript允许数组下标可以为任意表达式甚至为任意类型数据.但是如果该数组的下标都不是为大于或等于0的整数,那么求它的长度length为0(1) 文本下标var a = []a[-1] =1console.log(a[-1]); //1console.log(a['-1']); //1console.log(a.le...

2019-12-25 10:06:00 79

原创 建议11:增强数组排序的sort功能

  sort方法不仅按字母顺序进行排序,还可以根据其他顺序执行操作.这时就必须为方法提供一个比较函数的参数,该函数要比较两个值,然后返回一个用于说明这两个值得相对顺序的数字.比较函数应该具有两个参数a和b,其返回值如下:如果根据自定义评判标准,a小于b,在排序后的数组中a应该出现在b之前,就返回一个小于0的值如果a等于b,就返回0如果a大于b,就返回一个大于0的值  下面的示...

2019-12-24 17:45:00 106

原创 建议10:建议使用splice删除数组

  删除数组元素的方法有很多种,最简单就是利用length属性来截断数组,但这种方法比较笨,进能够截断尾部元素.在JS中,由于数组其实就是对象,因此可以使用delete运算符可以从数组中移除元素var number = ['zero','one','two','three','four']delete number[2] //["zero", "one", empty, "thr...

2019-12-24 17:09:00 96

原创 建议9:正确检测数组类型

  由于数组和对象的数据同源性,导致在JavaScript编程中经常会出现:在必须数组时用了对象,在必须用对象时用了数组.  typeof检测数组的类型时object,没有意义,所以这里可以通过自定义一个is_array函数来你部缺陷var is_array = function(value){ return value && typeof(value) ===...

2019-12-24 16:44:00 85

原创 建议8:恰当选用if和switch

相对来说下面几种情况更适合switch结构枚举表达式的值.这种枚举是可以期望的,平行逻辑关系的表达式的值具有离散性,不具有线性的非连续的区间值表达式的值是固定的,不是动态变化的表达式的值是有限的,而不是无限的,一般来说表达式应该比较少表达式的值一般为整数,字符串等类型数据而if结构更适合下面一些情况:具有复杂的逻辑关系表达式的值具有线性特征,如对连续的区间值进行判断...

2019-12-24 11:04:00 68

原创 建议7:推荐提高条件性能的策略

  与循环相似,条件表达式决定JavaScript运行流的走向.和其它语言一样,JavaScript也采用了if和switch两种条件结构.由于不同浏览器针对流程控制进行了不同的优化,两者在性能上并没有特别大的差异,主要还是根据需求形式进行分析和选择:条件数量较大的,建议选择switch结构,而不是if结构,这样可以使代码更易读;如果条件较少时,建议选择if结构.  //条件少i...

2019-12-23 11:14:00 113

原创 建议5:比较function语句和function表达式

  在Javascript语言中,既有function语句,也有函数表达式,这是令人困惑的.因为它们看起来是相同的.一个function语句就是一个值为一个函数的var语句的简写形式.  下面语句:function f(){}相当于:var f = function(){}  建议使用第二种形式,因为他能明确表示f是一个包含一个函数的变量.要用好JavaScript,理...

2019-12-23 09:35:00 143

原创 建议5:防止switch贯穿

  switch语句,除非明确地中断流程,否则每次条件判断后都贯穿到下一个case条件.例如switch(expression){ case label1: statementList1 case label2 statementList2 ... default: statementList}  ...

2019-12-20 18:07:00 183

原创 建议4:谨慎使用运算符---(3)警惕运算符得副作用

  在JavaScript中有一些运算符能够该百年运算数自身的值,如赋值,递增,递减运算等.  例如:var a;a=1;a = (a++)+(++a)-(a++)-(++a);console.log(a) //-4  如果直观地去判断,会错误地认为返回值是0,实际上变量a在参与运算得过程中,变量a得值不断发生变化的.这种变化容易被误解,下面进一步分解该表达式:v...

2019-12-20 17:27:00 127

原创 建议4:谨慎使用运算符---(2)谨慎使用++和--

  递增(++)和递减(--)运算度容易形成一种不谨慎的编程风格.大多数的缓冲区溢出错误所造成的安全漏洞都是由于这种编码导致的.  当使用++ 和 -- 时,代码往往变得过于紧密,复杂和隐晦.因此,在JavaScript程序设计中不建议使用他们,从而使代码风格变得更为整洁.  ++ 和 -- 运算符只能够作用域变量,数组元素或对象属性.下面用法时错误的4++;  正确的用法如...

2019-12-20 16:13:00 128

原创 建议4:谨慎使用运算符---(1)用===,而不用==

  JavaScript有两组相等运算符:=== 和 !==,==和!= . === 和 !==这一组运算度会按照期望的方式工作.如果两个运算数类型一致且拥有相同的值,那么 === 返回true,而!== 返回false. == 和 != 只有在两个运算数类型一致时才会做出正确的判断,如果两个运算数是不同的类型,会试图强制转换运算数的呃类型.转换的规则复杂且难以记忆.具体规则如下:'...

2019-12-20 15:58:00 148

原创 建议3:正确处理Javascript特殊值---(1)正确使用NaN和Infinity

  NaN时IEEE 754中定义的一个特殊的数量值.他不表示一个数字,尽管下面的表达式返回的是truetypeof(NaN) === 'number' //true  该值可能会在试图将非数字形式的字符串转换为数字时产生,例如+ '0' //0+ 'oops' //NaN  如果NaN是数字运算中的一个运算数,那么它与其他运算数的运算结果就会使Na...

2019-12-20 15:29:00 203

空空如也

空空如也

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

TA关注的人

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