二、ECMA学习
成长中...
不坚持你就不知道坚持这件事是多么有意义!
展开
-
var let const 的区别总结
1、变量提升:1)、var 声明的变量会发生"变量提升",变量可以在声明前使用,值为undefined;2)、let 不存在变量bian'l原创 2021-06-17 10:56:57 · 104 阅读 · 0 评论 -
解决img中的src图片加载失败,图片位置出现碎片图标 onerror 事件
有时,img标签中的src图片加载失败,原来的图片位置会出现一个碎片图标,这样让人很不爽,如何变得美观些呢? <script type="text/javascript"> function imgerrorfun() { var img = event.srcElement; img.src = "image/01.png"; img.onerror = null }</script><img src="image原创 2021-02-04 17:29:34 · 2403 阅读 · 0 评论 -
移动端开发rem实现屏幕适配及处理页面加载页面坍塌样式错乱网页闪烁问题
rem布局在加载的时候会出现元素一开始很小,闪烁一下恢复正常大小问题的原因无非就是html一开始没有设置字体大小嘛,那我们就一开始按最常用的iPhone 6 尺寸,设置html的font-size: 50px;好了,设置html的font-size: 50px;就合理了吗?我的回答是,至少变化的范围非常小,以360px宽的设备为例,根字体大小应该是48px;以前相当于是从0px-48px,现在是50px-48px,不会造成很明显的闪烁问题。至于为什么设置为50px;首先,设计稿是基于750px.原创 2021-02-04 16:48:33 · 643 阅读 · 0 评论 -
js 函数形参和实参的区别及如何获取不同参数个数
参数有形参(parameter)和实参(argument)的区别,形参指的是函数声明时的变量;实参指的是调用该函数时所传的参数。例:声明函数test(a,b) 时a,b就是形参,调用test(1,2)时1,2就是实参;function test(a,b){ console.log(a,b) } test(1,2) // 1 2注:形参和实参应保持数量相同fu...原创 2020-02-23 14:37:06 · 647 阅读 · 0 评论 -
闭包作用及优缺点
写在前言:变量的作用域:全部变量和局部变量;javascript语言中:函数内部可以直接读取全局变量,但是函数外部无法读取函数内部的局部变量。定义:闭包是有权访问另一个函数作用域的变量的函数,简单的说:就是定义在一个函数内部的函数,而且此内部函数可以访问它们所在的外部函数声明的全部局部变量和函数。当内部函数在包含它们的外部函数之外被调用时,就会形成闭包。作用:(1)、读取函数内部的变量...原创 2019-09-22 18:32:36 · 447 阅读 · 0 评论 -
es6常用语法
1、let const 及 let 和const var的区别:let var :相同点: 都是用来声明变量。不同点:作用域不同:let 声明的变量只在let命令所在的代码块内有效;var声明的变量,在全局范围内都有效。{ let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1...原创 2019-09-21 20:09:09 · 182 阅读 · 0 评论 -
js清空数组的方法
1、给数组的length赋值为0; let arr = [1, 2, 3] console.log(arr) // [1,2,3] arr.length = 0 console.log(arr) //[]2、通过数组splice()方法; let arr = [1, 2, 3] console.log(arr) // [1,2,3]...原创 2019-09-18 23:00:57 · 465 阅读 · 0 评论 -
浅谈js中深浅拷贝
深浅拷贝只针对像 Object, Array 这样的复杂对象的。1、浅拷贝:是对栈内存地址的复制,实际上目标对象指针和源对象指向同一片堆内存空间;2、深拷贝:是指建一个新的对象或数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用” 我们希望在改变新的数组(对象)的时候,不改变原数组(对象)。实现深拷贝的方法:(1)、 JSON内置的方法 v...原创 2019-09-18 13:53:37 · 121 阅读 · 1 评论 -
求一个字符串中出现次数最多的字符和次数
1、思路:新建一个空对象obj 遍历给定的字符串 接下来就是最重要的 把字符作为key值,对应次数作为value添加给obj。 判断obj是否存在当前循环的字符,有则让value即次数++,否则把当前项作为key添加给obj。 然后是比较次数的大小。 这时我们需要一个变量来储存obj的value值。 声明一个变量num,并设置初始值为0。 遍历obj,比较其value值与num值...原创 2019-08-24 17:07:22 · 2121 阅读 · 0 评论 -
for循环中的var和let的区别
for (var i = 0; i < 3; i++) { setTimeout(function () { console.log(i) // 3s 后输出 3次3 }, 30 * 100) console.log(i) // 先输出 0 1 2 }1、这道题涉及到了异步、作用域、闭包:settimeout是异步执行,...原创 2019-08-24 17:10:37 · 6812 阅读 · 7 评论 -
ES7学习
一.ES7新增特性(只有2个呐!)1、includes();2、求幂运算符(**);使用es7includes() 验证数组中是否存在某个元素,如果包含value返回true,否则返回false ;testes7() { let arr = ['react', 'angular', 'vue'] if (arr.includes('react')) { consol...原创 2019-03-23 15:22:35 · 253 阅读 · 0 评论