- 博客(14)
- 收藏
- 关注
转载 图片URL转换为base64的两种方式
方法一 Blob和FileReader 对象实现原理:使用xhr请求图片,并设置返回的文件类型为Blob对象[xhr.responseType = “blob”],使用FileReader 对象接收blob。getBase64("https://fastmarket.oss-cn-shenzhen.aliyuncs.com/oss/static/other/1/images/baseMap_index.jpg")//链接是你的网络图片function getBase64(imgUrl) {
2020-06-28 17:06:33 12388
原创 js监控组合键,例如Ctrl+K
// 同时按下ctrl+` var onKeydown = function(event) { console.log(event); //ctrl是激活状态,同时按下了 ` 键 if(event.key === '`' && event.ctrlKey){ console.log("ctrl & `") }}event控制台打印如下这个适用于同时按下的键shift/ctrl/alt + 其它任意键 的组合键参考
2020-06-28 16:30:45 1328
翻译 Vue源码常见问题
1,new Vue()都做了什么1,new Vue ( )是创建 Vue 实例,它内部执行了根实例的初始化过程。2, 初始化过程具体包括以下操作:合并配置初始化事件中心初始化生命周期 (new Vue()时只调用了beforeCreated、created两个生命周期)初始化渲染初始化数据 data、props、computed、watcher 等3,new Vue( ) 创建了根实例并准备好数据和方法,以备将来执行挂载进使用。2,说一说你对Vue响应式的理解1,所谓数据响应式
2020-06-20 17:47:23 929
转载 常见的闭包代码陷阱
闭包深入理解如果一个函数在定义的词法环境外运行并记住了定义时的词法环境,这样的现象就可以称作函数闭包 function f(x=0){ var count=x; function getCount(){ return count++; } return getCount } var func = f(10); console.log(func()); // 10代码如下 let f = ()=
2020-06-17 11:17:39 770
原创 深入理解this绑定、js的三大事件绑定
this的值范围大致上可以分为:如果是函数调用,那么this为window,严格模式下为undefined如果是作为一个对象的方法,那么this指向该对象。如果是new F()创建新实例,那么this指向这个实例。 var o = {} var f = function(){ if(this === window) console.log('window'); else if(this === o) console.log('object'); } o.f =
2020-06-16 18:03:43 1778
转载 ES6中 对块级作用域的理解,以及三种定义变量的方式对块级作用域的影响
作用域作用域是标识符的可访问范围在Javascript常用三种作用域(词法环境):1),全局作用域------全局定义2), 函数作用域-------在函数内部定义3), 块级作用域-----ES6新增的,用{}来界定块级作用域。1,块作用域由 { } 包括,if语句和for语句里面的{ }也属于块作用域。2,ES6新增了块级作用域,使用let声明的变量只能在块级作用域里访问if(true){ var num = 100; }console.log(num);
2020-06-16 15:55:06 921
转载 ES6新增的两种基本数据类型:Symbol 与 BigInt
Javascript自es6后一共有 7 种原始类型 和 1 种 引用类型,如下:原始类型 number、 string 、boolean 、 undefined 、 null 、 symbol 、 bigint引用类型 object原始类型中的前五个就不多说了,主要说Symbol和BigIntSymbol类型是什么Symbol 是一种在ES6 中新添加的数据类型,本质上是一种唯一标识符,可用作对象的唯一属性名,这样其他人就不会改写或覆盖你设置的属性值。定义方法let id .
2020-06-16 14:28:49 5423
原创 js的三大事件、事件移除、事件循环机制
三大事件(鼠标事件、键盘事件、html事件)1、鼠标事件click:单击dblclick:双击mousemove:鼠标移动mousedown:鼠标按下mouseup:鼠标抬起mouseover:鼠标悬浮mouseout:鼠标离开mouseenter:鼠标进入mouseleave:鼠标离开2、键盘事件keydown:按键按下keyup:按键抬起keypress:按键按下抬起3、HTML事件load:文档加载完成select:被选中的时候change:内容被改变f
2020-06-10 11:46:37 5325
原创 判断是什么浏览器(window.browser),web? weixin? qq ? mobile ? ....
代码如下var browser = window.browser || { //判断浏览器型号 trident: u.indexOf("Trident") > -1, presto: u.indexOf("Presto") > -1, webKit: u.indexOf("AppleWebKit") > -1, gecko: u.indexOf("Gecko") > -1 && -1 == u.indexOf
2020-06-10 10:08:22 549
转载 Javascript获取浏览器信息(navigator对象)
navigator对象navigator为Window对象的一个属性,指向了一个包含浏览器相关信息的对象。navigatot中包含了一些常用到的属性,如:navigator.appVersion 浏览器的版本号navigator.appName 浏览器的名称navigator.language 浏览器使用的语言navigator.platform 浏览器使用的平台navigator.userAgent 浏览器的user-agent信息其中userAgent 属性是一个只读的
2020-06-10 10:02:49 1561
翻译 浏览器内存泄漏简单知识点
什么是内存泄漏不再用到的内存,没有及时释放,就叫做内存泄漏。在 js中,详细一点说就是指我们已经无法再通过js代码来引用到某个对象,但垃圾回收器却认为这个对象还在被引用,因此在回收的时候不会释放它。导致了分配的这块内存永远也无法被释放出来。如果这样的情况越来越多,会导致页面卡顿或系统崩溃。垃圾回收机制js 引擎为了解决内存泄漏问题,才有了垃圾回收机制,能够让 js 自动的管理内存,将内存中不在使用的变量回收掉,然后释放出内存空间。两种回收机制,一个是标记清除法,另一种是引用计数法,其实他两的
2020-06-09 16:06:43 1309
原创 Arcgis 地理坐标与屏幕坐标之间的转换
地理坐标:经纬度坐标屏幕坐标:相对屏幕左下脚,在屏幕中的位置地理坐标转屏幕坐标(toScreen方法)var screenPoint = map.toScreen(point);//map: 地图实例化对象//point: new Point(x, y, spatialReference) 点对象 (地理点坐标参考链接 https://developers.arcgis.com/javascript/3/jsapi/point-amd.html)参考的官网地址,点击跳转屏幕坐标转地理
2020-06-09 09:50:08 2033 1
转载 怎么解决浏览器控制台错误信息 net::ERR_insecure_response
原因:由于证书问题,引起的资源认证错误或者认证过期解决办法1、临时办法在新的标签页上打开你的不被信任的链接,如果有提示接受 SSL 证书,选择接受,这种做法会是临时的信任,浏览器的信任有效期一过,还是需要再次信任,不管怎样,都需要不断地这样来回折腾。2、一劳永逸的办法设置一个有效的本地开发server的证书,并将证书添加信任,参考使用OpenSSL生成多域名自签名证书进行HTTPS开发调试3、时间不一致如果是电脑的时间和网络的时间不一致,可能导致电脑的时间不在服务器证书的有效期内,使用认证错
2020-06-04 16:59:48 7455
原创 js 判断字符串中是否包含某个字符include的坑
方法一 indexOf() (推荐)var str = "123";console.log(str.indexOf("3") != -1 ); // trueindexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。方法二 test()var str = "123";var reg = RegExp(/3/);console.log(reg.test(str)); // truetest() 方法用于检索字
2020-06-02 11:54:32 4770
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人