随笔分类 - JS
摘要:GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该
阅读全文
摘要:基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。 reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调
阅读全文
摘要:在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。 一、怎么判断属性是否可枚举 js中基本包装类型的原型属性是不可枚举的,如Object, Array, Number等,如果你写出这样的代码遍
阅读全文
摘要:反柯里化 相反,反柯里化的作用在与扩大函数的适用性,使本来作为特定对象所拥有的功能的函数可以被任意对象所用.即把如下给定的函数签名, 转化成一个函数形式,签名如下: 这就是 反柯里化的形式化描述。 例如,下面的一个简单实现: 解释: uncurrying是定义在Function的prototype上
阅读全文
摘要:何为Curry化/柯里化? curry化来源与数学家 Haskell Curry的名字 (编程语言 Haskell也是以他的名字命名)。 柯里化通常也称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间可嵌套多层这样的接受部分参数函数,直至
阅读全文
摘要:bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。 apply、call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。JavaScript 的一
阅读全文
摘要:Javascript语言用于编码的函数,一共有三个,最古老的一个就是escape()。虽然这个函数现在已经不提倡使用了,但是由于历史原因,很多地方还在使用它,所以有必要先从它讲起。 escape 和 unescape 实际上,escape()不能直接用于URL编码,它的真正作用是返回一个字符的Uni
阅读全文
摘要:前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES6的知识点。 JavaScript知识点 1.变量作用域 上方的函数作用域中声明并赋值了a,且
阅读全文
摘要:问题 我想将一个数组追加到另一个数组的后面,于是我在 firebug 编写如下代码: 但是,出乎意料,它却输出了: 而没有输出我期望的: 解答 JavaScript 的 + 运算符有两个目的: 将两个数相加; 将两个字符串连接。 规范并没有定义 + 运算符在数组上的行为,所以javascript 首
阅读全文
摘要:使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值。为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单。对于变量可以使用!!variable做检测,只要变量的值为:0、null、" "、undefined或者NaN都将返
阅读全文
摘要:onload与complete介绍 complete只是HTMLImageElement对象的一个属性,可以判断图片加载完成,不管图片是不是有缓存;而onload则是这个Image对象的load事件回调,当图片加载完成后执行onload绑定的函数。 给下面一个例子,解释下: 打印结果:第一次点击,谷
阅读全文
摘要:有时候,我们希望阻止用户选中我们指定区域的文字或内容。 举个栗子,有时候用户在一个区域执行频繁的点击操作,一不小心傲娇地点多了,就会选中当前区域的内容。 再举个栗子,制作轮播组件的时候,点击下一页,若点击的快的话,浏览器会识别为双击。 双击的默认效果是选中整片区域,这时候轮播图组件就会被表示忧郁的蓝
阅读全文
摘要:ActiveXObject 对象 启用和返回对自动化对象的引用。此对象仅用于实例化自动化对象,且此对象没有成员。 警告:此对象为 Microsoft 扩展,仅在 Internet Explorer 中受支持,在 Windows 8.x 应用商店应用中不受支持。 语法: 参数:newObj:必选。Ac
阅读全文
摘要:前言 我们先来看下面的例子,当然来源与网络,地址《删除数组中多个不连续的数组元素的正确姿势》 我们现在将数组中所有的‘ a’ 元素删除: var arr = ['a', 'a', 'b', 'c', 'd', 'a', 'a', 'e', 'g', 'a', 'f'];arr.forEach(fun
阅读全文
摘要:Math.max 实现得到数组中最大的一项 调用的时候第一个参数给了一个null,这个是因为没有对象去调用这个方法,只需要用这个方法帮助运算,得到返回的结果就行,所以直接传递了一个null过去。 Math.min 实现得到数组中最小的一项 在原生对象上面添加max与min方法 那就会需要用到原生对象
阅读全文
摘要:var tween = { linear:function(t,b,c,d){ return c*t/d + b; }, easeIn:function(t,b,c,d){ return c * ( t /= d ) * t + b; }, strongEaseIn:function(t,b,c,d){ re...
阅读全文
摘要:飞机把注册信息放到铁塔里,发送数据到铁塔,报告其它的飞机一些信息。
阅读全文
摘要:在项目中有时候会用到图片的延迟加载,那么延迟加载的好处是啥呢? 我觉得主要包括两点吧,第一是在包含很多大图片长页面中延迟加载图片可以加快页面加载速度;第二是帮助降低服务器负担。 下面介绍一下常用的延迟加载插件jquery.lazyload.js以及怎样实现一个延迟加载的插件。 一:jquery.la
阅读全文
摘要:实际参数在函数中我们可以使用 arguments 对象获得 (注:形参可通过 arguments.callee 获得),虽然 arguments 对象与数组形似,但仍不是真正意义上的数组。 我们可以通过数组的 slice 方法将 arguments 对象转换成真正的数组。 方法一:通过Array.p
阅读全文
摘要:什么是函数节流? 介绍前,先说下背景。在前端开发中,有时会为页面绑定resize事件,或者为一个页面元素绑定拖拽事件(其核心就是绑定mousemove),这种事件有一个特点,就是用户不必特地捣乱,他在一个正常的操作中,都有可能在一个短的时间内触发非常多次事件绑定程序。而大家知道,DOM操作时很消耗性
阅读全文