js
csdn_xuebing
一只小菜鸡
展开
-
手把手实现:JS原生代码与Servlet的前后交互实现
1.涉及到的知识前端语言:javascript,html,如果可以的话,再来一个CSS用于设计样式后端语言:Java前端技术:ajax(可以用JQ框架,简单又高效。但是希望用原生代码来写,容易搞懂原理)后端技术:servlet2.前端2.1 首先写一个HTML页面建议写一个简单页面就可以了。<!DOCTYPE html><html>&l...原创 2018-09-28 10:24:26 · 5063 阅读 · 2 评论 -
击鼓传花问题——JS实现
学校联欢晚会的时候,为了使每一个同学都能参与进来,主持人常常会带着同学们玩击鼓传花的游戏。游戏规则是这样的:n个同学坐着围成一个圆圈,指定一个同学手里拿着一束花,主持人在旁边背对着大家开始击鼓,鼓声开始之后拿着花的同学开始传花,每个同学都可以把花传给自己左右的两个同学中的一个(左右任意),当主持人停止击鼓时,传花停止,此时,正拿着花没传出去的那个同学就要给大家表演一个节目。聪明的小赛提出一个有...原创 2019-08-10 11:34:25 · 1301 阅读 · 0 评论 -
js实现数组全排列
参考:https://blog.csdn.net/xie_sining/article/details/83146105链接中,思路已经极其清晰,不过该思路中没有最后给全排列数组进行去重。以下是附带去重的代码:function perm(str){ let res = []; if (str.length <= 1) return [str] el...转载 2019-07-28 10:37:55 · 1340 阅读 · 0 评论 -
重绘(repaint)和回流(reflow)以及据此对网页的优化
参考:https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/24https://www.jianshu.com/p/af0b398602bc1. 浏览器渲染机制解析HTML,生成DOM树,解析CSS,生成CSSOM树 将DOM树和CSSOM树结合,生成渲染树(Render Tree) Layout(...转载 2019-07-23 15:00:45 · 159 阅读 · 0 评论 -
介绍Object.prototype.toString.call() 、 instanceof 、 Array.isArray()以及typeof
参考:https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/231. Object.prototype.toString.call()每一个继承 Object 的对象都有toString方法,如果toString方法没有重写的话,会返回[Object type],其中 type 为对象的类型...转载 2019-07-23 11:50:01 · 295 阅读 · 0 评论 -
ajax读取txt文件的乱码坑
背景:在用ajax读取txt文件的时候,突然发现返回的数据是乱码,但自己的编码是UTF8,完全木得问题。原因:原来我的txt是自己新建的,用的并不是utf8编码,所以在读取的时候,就会显示出乱码。解决方法:1、在读取的时候,对读取的内容重新编码。(还未有测试)2、最简单的方法,用notePad++工具,在“编码”工具栏,选择“转为UTF8”编码即可(亲测可用)...原创 2019-07-23 01:15:11 · 787 阅读 · 0 评论 -
如何原生实现js的new方法
1、首先理解JS原生new方法的四个过程:假设使用new调用new fn(),则会发生以下的步骤:(1)创建一个新的对象var obj = {}(2)设置新对象的__proto__属性指向,即原型链obj.__proto__ = fn.prototype(3)执行构造函数,传递参数,改变this指向,指向实例对象fn.call(obj)(4)将初始化完毕的新对象地址...转载 2019-07-22 22:15:57 · 865 阅读 · 0 评论 -
将数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组
主要是考ES5、ES6关于数组的使用问题let a = [1,[1,2],[1,2,[3]]], c = [1,[3,4,[124,123123,5123]],31,[123,41],[31,41,321,123]]let arr_Fun =arr=>{ return [...new Set(arr.join().split(','))].sort((a,b)=>...原创 2019-07-22 16:29:43 · 772 阅读 · 0 评论 -
__proto__访问类型
子类可以通过__proto__找到父类原创 2019-07-21 16:40:55 · 307 阅读 · 0 评论 -
typeof所输出的数据类型
参考文献:http://wangdoc.com/javascript/stdlib/object.html#object-%E7%9A%84%E5%AE%9E%E4%BE%8B%E6%96%B9%E6%B3%95转载 2019-07-21 16:28:54 · 832 阅读 · 0 评论 -
Set、WeakSeat、Map、WeakMap之间的差别
参考链接:http://es6.ruanyifeng.com/#docs/set-maphttps://github.com/Advanced-Frontend/Daily-Interview-Question/issues/6Set 成员唯一、无序且不重复 [value, value],键值与键名是一致的(或者说只有键值,没有键名) 可以遍历,方法有:add、delete、ha...转载 2019-07-21 15:55:57 · 332 阅读 · 0 评论 -
js前端技巧关于!和!!的区别
参考:https://www.cnblogs.com/tison/p/8111712.html1、‘!’可以用来逻辑运算或者类型判断,例如null,undefined,''(空字符串),取反即为true。2、‘!!’是为了做类型判断,‘!!param’,这样就可以防止param是null、undefined、''这种类型了。(为了简洁代码,用!做类型判断比较麻烦)...转载 2019-07-21 09:41:59 · 645 阅读 · 0 评论 -
JS合并数组并排列
题目:请把两个数组 ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'] 和 ['A', 'B', 'C', 'D'],合并为 ['A1', 'A2', 'A', 'B1', 'B2', 'B', 'C1', 'C2', 'C', 'D1', 'D2', 'D']。let arr1 = ["A1", "A2", "B1", "B2", "...转载 2019-07-23 16:43:07 · 1128 阅读 · 0 评论 -
VUE+Axios+Nodejs+express+pgsql实现前后数据交互【手摸手(绝对真实!),基础到爆炸!】
1、环境准备(需要安装)(1)vue-cli3(2)nodejs(3)axios(4)pg编译器:vscode2、个人思路(1)在pgsql里建数据表(2)利用Nodejs+pg包,读取pgsql的数据(3)利用Nodejs+express将读取的数据库数据,发送到建立的web服务器里(4)利用VUE+axios读取web服务器里的数据,并在自己的客户端显示...原创 2019-07-09 16:48:35 · 2767 阅读 · 1 评论 -
vue-cli中利用v-if+button来进行子组件的增删
这个里面图片虽然多,但是都是在父组件里进行的。当然在子组件中也可以进行如下的操作。如果不需要增删子组件的话,用v-show当然是更好了。v-if是增删DOM,v-show是对DOM是否进行渲染。1、写好一个子组件(我以olMapLoadImage.vue为例)2、加载子组件(如上图,import进来,然后再components里面注册)3、绑定一个v-if,在上图<tem...原创 2019-04-19 11:27:33 · 2629 阅读 · 0 评论 -
Openlayers加载影像的问题
对于谷歌地图的加载用的是'ol/source/XYZ',这是openlayers专门为加载谷歌地图而写的一个接口,是'ol/source/TileImage'的一个子类。在加载谷歌影像的时候,发现和自己的矢量图有很大的偏移。问过多方人员之后,得出结论:谷歌影像(线上加载)是有所偏移的,无偏的影像需要下载(具体怎么下载我也不是很了解了。)最终决定用天地图(这里还是得歌颂一下,天地图牛掰!无偏...原创 2019-04-18 20:56:44 · 1566 阅读 · 0 评论 -
js的链式调用
实现一个函数,可以fn() = 0,fn(1) = -1,fn(1,2) = -3,fn(1,2)(3) = -6。这种形式function fn() { let res = 0; const func = function () { let arr = [...arguments]; while (arr.length > 0) { ...原创 2019-08-31 11:02:42 · 190 阅读 · 0 评论