
JavaScript
文章平均质量分 72
潘潘91
爱生活,爱旅行,爱美食
展开
-
【力扣(LeetCode)】 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一
【力扣题库】#66 加一给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释:...原创 2020-05-05 16:13:11 · 2372 阅读 · 0 评论 -
ES6 babel的使用及安装配置教程
babel是一个广泛使用的转码器,可以将ES6代码转化为ES5代码,从而在现有环境执行,这意味着,你可以现在就用ES6编写程序,而不用担心现有环境是否支持。下面是一个例子:// 转码前input.map(item => item + 1);// 转码后input.map(function (item) { return item + 1;});安装及配置使用到...原创 2020-01-08 20:45:01 · 1068 阅读 · 0 评论 -
Nodejs安装及环境配置
1、下载安装包下载地址:https://nodejs.org/zh-cn/download/下载地址:https://nodejs.org/en/download/根据自己电脑系统及位数选择,我这里选择windows64位.msi格式安装包.msi和.zip格式区别:1、.msi是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。...原创 2020-01-08 13:20:46 · 2405 阅读 · 0 评论 -
浏览器渲染页面原理及过程,重构重绘优化
一、为什么要了解浏览器加载、解析、渲染这个过程?了解浏览器如何进行加载,我们可以在引用外部样式文件,外部js时,将他们放到合适的位置,使浏览器以最快的速度将文件加载完毕。了解浏览器如何进行解析,我们可以在构建DOM结构,组织css选择器时,选择最优的写法,提高浏览器的解析速率。了解浏览器如何进行渲染,明白渲染的过程,我们在设置元素属性,编写js文件时,可以减少”重绘“”重新布局“的消耗...原创 2020-01-02 17:02:03 · 835 阅读 · 0 评论 -
JavaScript 去除数组中重复的元素 得到新数组
方法一:思路:准备一个新数组,将原数组中的元素一一放入新数组,放入之前判断该元素是否存在新数组中,不存在的话就直接存入新数组。function uniqueArr(arr){ var newArr = []; for(let i = 0;i<arr.length;i++){ if(newArr.indexOf(arr[i]) == ...原创 2019-12-23 15:56:19 · 1966 阅读 · 0 评论 -
JavaScript的堆栈原理,浅拷贝与深拷贝
两者都是存放临时数据的地方堆:先进先出;一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收栈:先进后出;就像一个桶,由编译器自动分配释放 ,存放函数的参数值,局部变量的值等缓存问题:栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放。堆则是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这...原创 2019-12-22 19:08:26 · 319 阅读 · 0 评论 -
JavaScript的排序算法——归并排序
归并排序(Merge Sort)在计算机科学里,归并排序(Merge Sort)是一种通用有效的排序算法。通常情况下实现的是稳定的排序队列,这意味着相等元素排序后的顺序与排序前保持一致。归并排序是采用分治法(Divide and Conquer)的一个非常典型的应用,由John von Neumann发明于1945年。很容易理解且执行效率一般(js实现)的排序。排序思路:将无序...原创 2019-12-22 16:34:49 · 426 阅读 · 0 评论 -
JavaScript的排序算法——选择排序
选择排序(Selection Sort)选择排序是一种排序算法,是一个占用常用内存(In-place)的排序方法。时间复杂度为O(n2)。通常情况下,在处理大型数据的时候,性能要比相似的插入排序低。选择排序因其简单性而著称,并且在某些情况下性能要优于更复杂的算法,尤其是在辅助存储空间有限的情况下。实现思路跟冒泡排序差不多, 可以说是冒泡排序的衍生版本;选择排序的工作原理每一次...原创 2019-12-22 16:27:42 · 548 阅读 · 0 评论 -
JavaScript的排序算法——插入排序
插入排序(Insertion Sort)插入排序是一种简单的排序算法,这种算法可以一次构建最终排序的数组(或数列)。它在大型数列上的排序效率会远低于一些更高级的排序算法,如快速排序、堆排序、归并排序。中心思想:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。编码实现:function insertionSort(arr){ var ne...原创 2019-12-22 16:01:39 · 534 阅读 · 0 评论 -
JavaScript的排序算法——快速排序
排序算法(Sorting algorithm)是计算机科学最古老、最基本的课题之一。要想成为合格的程序员,就必须理解和掌握各种排序算法。快速排序(Quicksort)是对冒泡排序的一种改进。快速排序在诸多算法排序中可能不是最好的, 但个人认为在JS语言实现中是最快的。几千条数据的数组在firefox下快速排序的速度比冒泡、插入排序快3至4秒。"快速排序"的思想很简单,整个排序过程只需要...原创 2019-12-22 15:29:18 · 645 阅读 · 0 评论 -
JavaScript的排序算法——冒泡排序
冒泡排序(Bubble Sort)冒泡排序,有时也被称做沉降排序,是一种比较简单的排序算法。这种算法的实现是通过遍历要排序的列表,把相邻两个不符合排列规则的数据项交换位置,然后重复遍历列表,直到不再出现需要交换的数据项。当没有数据项需要交换时,则表明该列表已排序。中心思想:重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来算法描述:1、比较相邻的元素,如果...原创 2019-12-22 14:20:32 · 730 阅读 · 0 评论 -
JavaScript交换两个变量的值
1.使用中间变量(最基本也是最常用的)// 1. 使用中间变量var a = 2,b = 5;var tmp;tmp = a;a = b;b = tmp;console.log("a="+a + ",b=" + b);2.使用加减法//2. 使用加减法(变量覆盖)var a = 2,b=5;a = a+b; // a= 7,b=5b = a-b;//b = 2a...原创 2019-12-17 18:10:46 · 345 阅读 · 0 评论 -
用JS打开新窗口,防止被浏览器阻止的解决方法
我们平时开发web前端或者使用JS的朋友都会遇到需要打开新窗口的情况,使用传统的window.open(),会被大多数浏览器拦截,这是因为现在大部分浏览器都有弹出窗口拦截功能,所以window.open()不再那么好用了。我最近也遇到了这样的问题,所以就把弹出新窗口的方法分享给大家。欢迎大家补充哦...第一种、使用原生javascript的window.open()方法(大部分情况原创 2014-12-26 11:30:02 · 5475 阅读 · 1 评论 -
JavaScript原生对象常用方法总结
一. JavaScript之Array类:创建js数组两种方式:var arr = []; 或var arr = new Array();()里可以指定长度,也可以不指定,指不指定都无所谓,因为js里的数组长度是可变的。1. concat(arr1,arr2,arr3......arrx):js数组合并,返回合并后的新数组,至少需要传递一个数组,也可以传递多个数组转载 2014-12-31 09:14:13 · 5769 阅读 · 0 评论 -
JS 继承与扩展
先给大家介绍下JavaScript实现继承的几种方式,然后再详细讨论讨论JS的prototype和constructor。一 JavaScript实现继承的方式1. 继承第一种方式:对象冒充 先定义一个父类:function parent(name){ this.name = name; this.hello = function(){原创 2015-01-04 10:14:38 · 873 阅读 · 0 评论 -
浏览器尺寸改变时滚动条闪动的问题
前几天QA突然报给我一个bug,说是点击浏览器的向下还原后,滚动条一直闪,而且右侧滚动条一直在缩小。我看到效果后,不晓得是怎么回事,以前从来没有遇到过,然后就一路的search呀后来就在js里面添加了,监控浏览器大小变化的时间,让浏览器默认overflow 为hidden,当浏览器宽度小于1000时,出现滚动条$(window).resize(function() { var原创 2015-03-20 13:19:37 · 3310 阅读 · 0 评论 -
js 复制文本内容
记录工作学习中的小技巧复制网页中的内容到剪切板上;本文介绍两种方式,都亲身验证过哦第一种:常规方法,但是只兼容IE浏览器与使用IE内核的浏览器。优点是体积小,仅有十来行代码,但缺点也很明显,只支持IE及以IE为内核的浏览器。js代码是:$(function(){ $("#txt_CopyLink").click(function(){ var Url=$("#link原创 2015-03-24 17:59:32 · 2911 阅读 · 0 评论 -
浏览器返回刷新页面
有的时候浏览器返回操作我们想刷新页面,从服务器重新获取数据,此时就需要浏览器不将浏览记录保存在缓存中。1. 设置页面为不缓存,访问上一次页面就需要重新去服务器获取。HTML JAVAif (request.getProtocol().compareTo("HTTP/1.0") == 0){ response.se原创 2015-06-02 14:57:58 · 15718 阅读 · 2 评论 -
全角字符数字转换为半角字符数字
全角字符数字转换为半角字符数字function CtoH(str){ var result=""; for (var i = 0; i < str.length; i++){ if (str.charCodeAt(i)==12288){ result+= String.fromCharCode(str.charCodeAt(i)-12256); continue; } i原创 2015-05-26 09:57:28 · 2213 阅读 · 0 评论 -
setInterval,setTimeout 方法和与之相关的方法 详解
一 setInterval & clearInterval1. HTML DOM setInterval() 方法 定义和用法 setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。 setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 cl原创 2014-12-23 17:55:04 · 703 阅读 · 0 评论