js
文章平均质量分 59
weixin_39214481
这个作者很懒,什么都没留下…
展开
-
js实现基于Base64的编码及解码
文章目录需求什么是Base64编码规则如何解码js实现基于base64的编码解码window自带函数进行Base64编码解码Base64编码的实际运用图片base64编码需求应公司领导需求,最近在做一个类似“掘金”的插件,获取gitlab上公司的技术文档,仅供内部使用。当通过接口去获取数据时,发现返回的json数据是base64编码的,根本无法阅读,只能解码。什么是Bas...转载 2019-07-19 10:07:45 · 635 阅读 · 0 评论 -
JavaScript 函数的调用方式
JavaScript 函数有 4 种调用方式:方法调用模式 函数调用模式 构造器调用模式 call/apply调用模式每种方式的不同在于 this 的初始化。js的函数调用会免费奉送两个而外的参数就是 this 和 arguments 。arguments是参数组,他并不是一个真实的数组,但是可以使用.length方法获得长度。this 关键字一般而言,在Javascrip...转载 2018-12-27 17:43:13 · 135 阅读 · 0 评论 -
javascript自己实现trim( )放
Function.prototype.method=function(name,func){ if(!this.prototype[name]){ //只在没有该方法时才添加 this.prototype[name]=func; } return this;};String.me...转载 2018-12-27 16:17:46 · 171 阅读 · 0 评论 -
js数组赋值:不修改原数组,返回新的数组
有一个数组arr = [1, 2, 3, 4, 10]。 var str = new Array;str = arr; //这个不是赋值,将数组arr的引用赋给str,所以改变str也会改变arr (js实际创建的str是一个对象);正确赋值: 1、str = [].concat(arr); content用于连接多个数组:arr1.concat(arr2,arr3,。。。。)2...转载 2018-12-21 11:30:23 · 5485 阅读 · 0 评论 -
javascript中值传递与值引用的研究
javascript中貌似共有8种数据类型,包括了字符串类型,数值类型Number,布尔类型Boolean,undefined类型,null类型,对象,数组,函数;1. 值传递,书上呀,各种的都说基本类型的都是值传递; 基本类型:Number Boolean String Undefined Null 这5种就是javascript种的基本数据类型了; //基本类型演...转载 2018-12-06 14:53:14 · 187 阅读 · 0 评论 -
js函数的记忆
函数可将之前操作的结果记录在某个对象里,避免无谓的重复计算,js的对象和数组要实现这种优化是非常方便的。下面这是一个构造带记忆功能函数的函数:var memoizer = function(memo,formula){ var recur = function(n){ var result = memo[n]; ...原创 2019-01-03 16:27:17 · 317 阅读 · 0 评论 -
js函数话构造器
构造一个生成对象的函数(小写字母开头命名,因为不需要使用new前缀):步骤:1—创建一个对象。方法很多,可以构造一个对象字面量,或和new前缀连用去调用构造器函数,或使用Object.create方法去构造一个已经存在的对象的新实例,或调用任意一个会返回对象的函数;2—有选择地定义私有实例变量(即函数中通过var定义的普通变量)和方法;3—给这个新对象扩充方法。这些方法有特权去访问...原创 2019-01-03 20:50:34 · 386 阅读 · 0 评论 -
js判断是否为Array
var is_array = function(value){ return value && typeof value==='object' && value.constructor===Array;};缺点:识别从不同的窗口(window)或帧(frame)里构造的数组时会失败。更好的方法:var is_array = func...原创 2019-01-04 19:17:52 · 1894 阅读 · 0 评论 -
fetch 如何请求常见数据格式
fetch是web提供的一个可以获取异步资源的api,目前还没有被所有浏览器支持,它提供的api返回的是Promise对象,所以你在了解这个api前首先得了解Promise的用法。参考阮老师的文章那我们首先讲讲在没有fetch的时候,我们是如何获取异步资源的://发送一个get请求是这样的://首先实例化一个XMLHttpRequest对象var httpRequest = new...转载 2019-06-11 15:09:02 · 3710 阅读 · 0 评论 -
js清除浏览器缓存的几种方法
一.关于浏览器缓存 浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。今天主要介绍清除缓存的几种方法。二.清理网站缓存的几种方法1.meta方法Html代码//不缓存...转载 2019-03-28 15:11:06 · 434 阅读 · 0 评论 -
js断点调试
1.断点调试是啥断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了。操作起来似乎很简单,其实很多人纠结的是,是在哪里打断点?(我们先看一个断点截图,以chrome浏览器的断点为例)步骤记住没?用chrome浏览器打开页面 → 按f12打开开发者工具 → 打开Sources → 打开你要调试的js代码文件 → 在行...转载 2019-03-29 15:42:30 · 66 阅读 · 0 评论 -
Jquery对页面元素的实用操作
操作select标签:A、获取获取select选择的文本与值获取select 选中的 text :$("#id").find("option:selected").text();获取select选中的 value:$("#id").val();获取select选中的索引:$("#id").get(0).selectedindex;B、设置设置sele...转载 2019-03-29 15:36:59 · 167 阅读 · 0 评论 -
javascript实现java的map对象,js实现new map()
/* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value) * remove(key) 删除指定KEY的元素,成功返回...转载 2019-03-07 15:02:51 · 1995 阅读 · 0 评论 -
前端与编译原理:用 JS 写一个 JS 解释器
说起编译原理,印象往往只停留在本科时那些枯燥的课程和晦涩的概念。作为前端开发者,编译原理似乎离我们很远,对它的理解很可能仅仅局限于“抽象语法树(AST)”。但这仅仅是个开头而已。编译原理的使用,甚至能让我们利用JS直接写一个能运行JS代码的解释器。项目地址:https://github.com/jrainlau/canjs在线体验:https://codepen.io/jrainlau/...转载 2019-01-31 16:17:12 · 277 阅读 · 0 评论 -
调用某个js方法里的方法
var a = function(){ function b(){...} function c(){...}}如何调用了a方法里的c方法,而不会调用到b方法,如果实例化a方法的话,b方法是会被执行的。解决方案:1 var a = function() { function b() {...} function c() {...} ...转载 2019-01-09 17:38:18 · 5633 阅读 · 0 评论 -
javascript学习笔记(五)原型和原型链详解
私有变量和函数在函数内部定义的变量和函数,如果不对外提供接口,外部是无法访问到的,也就是该函数的私有的变量和函数。 复制代码代码如下:<script type="text/javascript"> function Test(){ var color = "blue";//私有变量 var fn = function() //私...转载 2019-01-09 18:57:03 · 135 阅读 · 0 评论 -
闭包——内部函数能访问外部函数得实际变量(而无须复制)
模块模式利用了函数作用域和闭包来创建被绑定对象与私有成员变量的关联,只有特权函数才能够访问特定的私有成员变量(数据对象)。模块模式(摈弃全局变量的使用,封装程序)的一般形式是:一个定义了私有变量和函数的函数;利用闭包创建可以访问私有变量和函数的特权函数;最后返回这个特权函数,或者把它们保存到一个可以访问到的地方。 //糟糕得例子——预期点击一个节点时应输出节点的序号,但是这...转载 2019-01-02 14:35:10 · 2760 阅读 · 0 评论 -
js返回上一个页面
版权声明:本文为博主原创文章,转载请注明出处 thx~ https://blog.csdn.net/x550392236/article/details/78851832当前的url下标为0,所以window.history.go(-1)就是要定位到相对当前页面下标为-1的页面,也就是之前刚刚访问的页面。//返回上一页:window.history.go(-1);//返回两个...转载 2018-11-14 20:27:08 · 1338 阅读 · 0 评论 -
javascript类型
共有: 数字、字符串、布尔值、对象(函数)、undefined、null、数组、日期、正则表达式。undefined:变量已声明,但尚未赋值;null:变量没有值,var nullVar=null;带var声明区别:var num = 1;在当前作用域中声明变量,在方法中则为局部变量。num = 1;对属性进行赋值操作。首先尝试在当前作用域链(若在方法中声明则当...转载 2018-11-08 15:48:13 · 254 阅读 · 0 评论 -
js修改onclick动作的四种方法(推荐)
第一种:button.onclick = Function("alert('hello');");第二种:button.onclick = function(){alert("hello"); };第三种:button.onclick = myAlert; function myAlert(){ alert("hello"); ...转载 2018-07-13 17:55:01 · 19978 阅读 · 3 评论 -
HTTP 方法:GET 对比 POST
超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。HTTP 的工作方式是客户端与服务器之间的请求-应答协议。web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。两种 HTTP 请求方法:GET 和 POST在客户机和服务器之间进行请求-响...转载 2018-07-03 17:34:14 · 120 阅读 · 0 评论 -
jquery学习笔记
一.keypress,keydown,keyup的区别:1.keydown:在键盘上按下某键时发生,一直按着则会不断触发(opera浏览器除外), 它返回的是键盘代码;2.keypress:在键盘上按下一个按键,并产生一个字符时发生, 返回ASCII码。注意: shift、alt、ctrl等键按下并不会产生字符,所以监听无效 ,换句话说, 只有按下能在屏幕上输出字符的按键时keypress事件才会...转载 2018-07-02 16:43:07 · 107 阅读 · 0 评论 -
jquery ajax向spring mvc controller中传值并接受及解析返回值
第一种传值:controller中是几个单独的基本类型参数Spring MVC-controller[java] view plain copy @RequestMapping("update") @ResponseBody//此注解不能省略 否则ajax无法接受返回值 public Map<String,Object> update(Long num, Long id, BigD...转载 2018-06-19 17:38:04 · 204 阅读 · 0 评论 -
javascript数组定义的几种方法
一般来说分为隐式创建、直接实例化、创建数组并指定长度、后来为了方便直接使用json格式定义数组。1、什么是数组数组就是一组数据的集合其表现形式就是内存中的一段连续的内存地址数组名称其实就是连续内存地址的首地址2、关于js中的数组特点数组定义时无需指定数据类型数组定义时可以无需指定数组长度数组可以存储任何数据类型的数据(比如说一个元素保存整型,一个元素保存字符串型,这个在JS中是可以的)创建数组的语...转载 2018-06-19 17:32:16 · 906 阅读 · 0 评论 -
Javascript Infinite Level Select 无限级联动下拉菜单
Overview多级联动,支持Ajax动态获取数据并缓存数据,动态生成下级select菜单,设置动态生成"option"第一个条目作为提示项,自动选择唯一选项的菜单,设置回调函数在onChange事件触发时获取下拉菜单相关信息。 详细功能及设置请见DEMO。RequirementjQuery v1.6+License Dual licensed under the MIT and GPL lice...转载 2018-06-19 17:29:30 · 876 阅读 · 0 评论 -
java从字符串中提取数字
随便给你一个含有数字的字符串,比如:String s="eert343dfg56756dtry66fggg89dfgf";那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法。1 String类提供的方法:?1234567891011121314151617181920212223242526272829package 测试练习;import ...转载 2018-04-28 00:14:33 · 14479 阅读 · 1 评论 -
js中Number数字相乘,相加,相除得到精确值(转)
https://blog.csdn.net/code_l/article/details/9363693http://blog.sina.com.cn/s/blog_69398ed90101bjvx.htmlhttps://www.cnblogs.com/cbliu/p/5534753.htmlhttp://www.jb51.net/article/45331.htm转载 2018-04-27 18:26:13 · 5741 阅读 · 0 评论 -
html怎么隐藏input标签
一、1<input type="hidden" />二、1<input type="text" style="display:none" />以上两种方法可以实现不留痕迹的隐藏。三、1<input type="text" style="visibility: hidden;" />第三种方法可以实现占位隐藏(会留下空白而不显示转载 2018-05-18 17:03:05 · 29204 阅读 · 1 评论 -
数组去重
数组去重常见方法:1、双循环 双重for/while循环是比较笨拙的方法,实现原理很简单:先定义一个包含原始数组第一个元素的数组,然后遍历原始数组,将原始数组中的每个元素与新数组中的每个元素进行比对,如果不重复则添加到数组中,最后返回数组。缺点:时间复杂度是O(n^2),如果数组长度很大那将会非常耗费内存。 function unique(arr){ if(!Array....原创 2018-05-11 12:03:35 · 157 阅读 · 0 评论 -
理解Object.assign
本节内容我们继续探讨关于ES2015的一些新的内容,Object.assign函数的使用,使用该函数我们可以快速的复制一个或者多个对象到目标对象中,本文内容涉及es6,es7相关的对象复制的内容,以及一些es5的替代方案的介绍。函数原型首先看一下函数的定义: 函数参数为一个目标对象(该对象作为最终的返回值),源对象(此处可以为任意多个)。通过调用该函数可以拷贝所有可被枚举的自有属性值到目标...转载 2018-08-24 18:12:31 · 455 阅读 · 0 评论 -
Javascript编程风格(编写代码的样式规则)
作者: 阮一峰日期: 2012年4月27日 好的编程风格有助于写出质量更高、错误更少、更易于维护的程序。有一点应该明确,"编程风格"的选择不应该基于个人爱好、熟悉程度、打字工作量等因素,而要考虑如何尽量使代码清晰易读、减少出错。你选择的,不是你喜欢的风格,而是一种能够清晰表达你的意图的风格。这一点,对于Javascript这种语法自由度很高、设计不完全成熟的语言尤其重要。一、大...转载 2018-11-02 15:10:38 · 106 阅读 · 0 评论 -
Javascript——封装(Encapsulation)
作者: 阮一峰日期: 2011年6月 5日 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)。那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做呢?一、 ...转载 2018-11-02 14:45:35 · 153 阅读 · 0 评论 -
浅谈express 中间件机制及实现原理
中间件机制可以让我们在一个给定的流程中添加一个处理步骤,从而对这个流程的输入或者输出产生影响,或者产生一些中作用、状态,或者拦截这个流程。中间件机制和tomcat的过滤器类似,这两者都属于责任链模式的具体实现。express 中间件使用案例 1 2 3 4 5 6 7 8 9 10 let ...转载 2018-11-02 15:53:45 · 287 阅读 · 0 评论 -
有用的Javascript技巧
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/duyiwuerluozhixiang/article/details/719549571.使用!!将变量转换成布尔类型 有时我们需要检查一些变量是否存在,或者他是否具有有效值,从而将他们的值视为true。对于做这样的检查,你可以使用!!(双重否定运算符),他能自动的将任何类型的数据转换为布...转载 2018-11-01 16:37:23 · 79 阅读 · 0 评论 -
JavaScript apply 方法 详解(转)
转载自 http://www.cnblogs.com/KeenLeung/archive/2012/11/19/2778229.html主要我是要解决一下几个问题:1. apply和call的区别在哪里2. &转载 2018-11-01 11:53:54 · 109 阅读 · 0 评论 -
详解Javascript 中的this指针
前言Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象。Javascript可以通过一定的设计模式来实现面向对象的编程,其中this “指针”就是实现面向对象的一个很重要的特性。但是this也是Javascript中一个非常容易理解错,进而用错的特性。特别是对于接触静态语言比较久了的同志来说更是如此。示例说明我们先来看一...转载 2018-10-30 19:24:02 · 420 阅读 · 0 评论 -
javascript中toFixed()方法
以前一直以为toFixed方法就是四舍五入的,知道一个用户反馈了金额计算的bug我才如梦初醒(亏了一毛钱),才仔细深究了下toFixed这个方法,唉,还是我不够严谨啊,前车之鉴,大家勿走我的老路!toFixed还不同的浏览器实现,在IE10及以上里面是正常的四舍五入,但是别的浏览器里面就不一样了,它不是正常的四舍五入(等下重点说),比如:var a = 1.335;console.lo...转载 2018-11-01 09:08:42 · 968 阅读 · 0 评论 -
Javascript 严格模式详解
一、概述除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。设立"严格模式"的目的,主要有以下几个: - 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为; - 消除代码运行的一些不安全之处,保证代码运行的安全; - 提高编译器效...转载 2018-08-24 18:25:00 · 84 阅读 · 0 评论 -
Javascript中的Prototype
Javascript也是面向对象的语言,但它是一种基于原型Prototype的语言,而不是基于类的语言。Javascript也是面向对象的语言,但它是一种基于原型Prototype的语言,而不是基于类的语言。在Javascript中,类和对象看起来没有太多的区别。什么是prototype:function定义的对象有一个prototype属性,prototype属性又指向了一个prot...转载 2018-08-24 18:22:51 · 394 阅读 · 0 评论 -
js数组
http://www.jb51.net/article/89335.htm js删除数组元素、清空数组的简单方法http://www.jb51.net/article/73867.htm向JavaScript的数组中添加元素的方法小结转载 2018-04-26 18:03:16 · 107 阅读 · 0 评论