JavaScript
文章平均质量分 78
B1gF4ceC4t
这个作者很懒,什么都没留下…
展开
-
Javascript 中的神器——Promise
Javascript 中的神器——PromisePromise in js回调函数真正的问题在于他剥夺了我们使用 return 和 throw 这些关键字的能力。而 Promise 很好地解决了这一切。2015 年 6 月,ECMAScript 6 的正式版 终于发布了。ECMAScript 是 JavaScript 语言的国际标准,JavaScript转载 2017-02-21 16:49:10 · 452 阅读 · 0 评论 -
js数组去重的4种方法
js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfillArray.prototype.indexOf = Array.prototype.indexOf || function(item) { for (var i = 0, j = this.length; i ) {转载 2017-08-20 18:26:42 · 555 阅读 · 0 评论 -
JSON.parse()与JSON.stringify()的区别
JSON.parse()【从一个字符串中解析出json对象】例子://定义一个字符串var data='{"name":"goatling"}'//解析对象JSON.parse(data)结果是:name:"goatling"JSON.stringify()【从一个对象中解析出字符串】var da转载 2017-09-04 13:24:40 · 1792 阅读 · 0 评论 -
substring,substr,和slice的区别详解
1.Substring(x,y) : 输出一个字符串,当其中只有一个参数时,会输出从x开始到结尾的String。举例:var str="hello"; console.log(str.substring(1));输出结果为ello如果有两个参数,则会输出从x到y的值,值得注意的时候,这里的x ,y可以理解成一个(x, y]的区间,即不包含第x转载 2017-09-04 13:37:23 · 466 阅读 · 0 评论 -
什么是multipart/form-data请求
根据http/1.1 rfc 2616的协议规定,我们的请求方式只有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE等,那为为何我们还会有multipart/form-data请求之说呢?这就要从头来说了。http协议规定以ASCII码传输,建立在tcp,ip协议智商的引用规范,规范内容把http请求分成3个部分,状态行,请求头,请求体。所有的方法,实现都是围绕如何转载 2017-09-04 16:15:59 · 837 阅读 · 0 评论 -
JavaScript中call,apply,bind方法的总结。
why?call,apply,bind干什么的?为什么要学这个? 一般用来指定this的环境,在没有学之前,通常会有这些问题。var a = { user:"追梦子", fn:function(){ console.log(this.user); }}var b = a.fn;b(); //undefined我们是转载 2017-09-13 22:27:58 · 206 阅读 · 0 评论 -
js中的事件委托或是事件代理详解
起因:1、这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的;2、其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考;概述:那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们转载 2017-09-14 16:25:57 · 226 阅读 · 0 评论 -
「JavaScript」操作数隐式类型转换
来源:https://segmentfault.com/a/1190000006161381JavaScript是一个对类型非常容忍的语言,在我们编写代码的过程中,会看到许多代码直接对不同类型的操作数进行操作。有的时候这会给我们的代码的编写带来很大的方便,而有些时候这些不加检查的类型比较也会给我们的代码带来一些隐患。在调试的时候,我们如果对JavaScript自动执行的类型转换有比较清楚的转载 2017-09-08 14:19:38 · 343 阅读 · 0 评论 -
JavaScript内存泄露的4种方式及如何避免
简介内存泄露是每个开发者最终都要面对的问题,它是许多问题的根源:反应迟缓,崩溃,高延迟,以及其他应用问题。什么是内存泄露?本质上,内存泄露可以定义为:应用程序不再需要占用内存的时候,由于某些原因,内存没有被操作系统或可用内存池回收。编程语言管理内存的方式各不相 同。只有开发者最清楚哪些内存不需要了,操作系统可以回收。一些编程语言提供了语言特性,可以帮助开发者做此类事情。另一转载 2017-09-08 15:31:27 · 898 阅读 · 0 评论 -
window.location.href和window.open的几种用法和区别
阅读目录一、location.href常见的几种形式二、location.href不同形式之间的区别三、location.href总结四、window.location.href和window.open的区别使用js的同学一定知道js的location.href的作用是什么,但是在js中关于location.href的用法究竟有哪几种,究竟有哪些区别,估计很多人都不知道了。转载 2017-09-18 01:07:12 · 755 阅读 · 0 评论 -
《JavaScript高级程序设计(第3版)》知识点笔记1
1、JavaScript是一种专为网页交互而设计的脚本语言,由三个不同部分组成: ECMAScript,提供核心语言功能 文档对象模型(DOM),提供访问和操作页面内容的方法和接口 浏览器对象模型(BOM),提供与浏览器交互的方法和接口2、HTML4.01为标签定义了defer属性。这个属性的用途是表明脚本在执行时不会影响页面的构造,也就是说,脚本会延迟到原创 2017-09-11 13:44:02 · 611 阅读 · 0 评论 -
什么是闭包?闭包的优缺点?
闭包(closure)是javascript的一大难点,也是它的特色。很多高级应用都要依靠闭包来实现。1、变量作用域要理解闭包,首先要理解javascript的特殊的变量作用域。变量的作用域无非就两种:全局变量和局部变量。javascript语言的特别之处就在于:函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。注意点:在函数内部声明变转载 2017-09-27 16:45:13 · 369 阅读 · 0 评论 -
理解Javascript_07_理解instanceof实现原理
在《Javascript类型检测》一文中讲到了用instanceof来用做检测类型,让我们来回顾一下: 那么instanceof的这种行为到底是如何实现的呢,现在让我们揭开instanceof背后的迷雾。 instanceof原理照惯例,我们先来看一段代码:1234567转载 2017-09-20 00:51:44 · 426 阅读 · 0 评论 -
正则表达式中 test、exec、match 方法区别
一、String对象支持四种利用正则表达式的方法,分别为search(),replace(),match(),split()1、search()方法以正则表达式作为参数,返回第一个与之匹配的子串开始的位置,如果没有任何与之匹配的子串,它返回-1。 2、replace()方法执行检索和替换操作,它的第一个参数是正则表达式,第二个参数是要进行替换的字符串或者闭包。 3、 mat转载 2017-09-20 13:34:27 · 643 阅读 · 0 评论 -
前端面试题——js闭包
要求:利用闭包原理模拟计数器function count(){ //...}var f = count();f(); //输出1f(); //输出2f(); //输出3...答案:function count(){ var i=0; return function(){ console.log(++i); }}原创 2017-09-21 07:56:35 · 839 阅读 · 0 评论 -
《ECMAScript 6入门》笔记6
1、箭头函数基本用法ES6允许使用“箭头”(=>)定义函数。var f = v => v;上面的箭头函数等同于:var f = function(v) { return v;};如果箭头函数不需要参数或者需要多个参数,就使用一个圆括号代表参数部分。var f = () => 5;// 等同于var f = function () { return 5 };转载 2017-08-16 23:00:05 · 357 阅读 · 0 评论 -
《ECMAScript 6入门》笔记5
1、函数参数的默认值基本用法:ES6允许为函数的参数设置默认值,即直接写在参数定义的后面。function log(x, y = 'World') { console.log(x, y);}log('Hello') // Hello Worldlog('Hello', 'China') // Hello Chinalog('Hello', '') // Hellofunc转载 2017-08-15 18:53:02 · 432 阅读 · 0 评论 -
《ECMAScript 6入门》笔记4
1、数组的解构赋值基本用法ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。let a = 1;let b = 2;let c = 3;ES6允许写成下面这样。let [a, b, c] = [1, 2, 3];上面代码表示,可以从数组中提取值,按照对应位置,为变量赋值。本转载 2017-08-13 00:13:33 · 652 阅读 · 0 评论 -
javascript 正则表达式使用说明详细教程
1,正则表达式的作用:匹配一个字符串中的一些内容2,声明和使用:1)构造函数 var reg=new RegExp(/表达式/)2)字面量 var reg=/表达式/ 推荐使用eg: var reg=/abc/ 表示匹配含有abc 的字符串常用方法:reg.test("要检测的字符串") 返回布尔值3,最简单开始1)简单类 只要含有正则中的内容即可v转载 2017-02-14 09:21:16 · 456 阅读 · 0 评论 -
关于JavaScript中计算精度丢失的问题
摘要: 由于计算机是用二进制来存储和处理数字,不能精确表示浮点数,而JavaScript中没有相应的封装类来处理浮点数运算,直接计算会导致运算精度丢失。 为了避免产生精度差异,把需要计算的数字升级(乘以10的n次幂)成计算机能够精确识别的整数,等计算完毕再降级(除以10的n次幂),这是大部分编程语言处理精度差异的通用方法。关键词: 计算精度 四舍五入 四则运算 精度丢失 1.转载 2017-02-14 10:42:06 · 1644 阅读 · 0 评论 -
javascript深入了解匿名函数和闭包
1、匿名函数函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式第一种:这也是最常规的一种function double(x){ return 2 * x; }第二种:这种方法使用了Function构造函数,把参数列表转载 2017-02-14 15:58:11 · 358 阅读 · 0 评论 -
Javascript 严格模式详解
作者: 阮一峰日期: 2013年1月14日一、概述除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。设立"严格模式"的目的,主要有以下几个: - 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为转载 2017-03-19 21:23:42 · 244 阅读 · 0 评论 -
ES6新特性概览
转自:http://www.cnblogs.com/Wayou/p/es6_new_features.html本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用。ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了)。上转载 2017-03-19 21:31:04 · 271 阅读 · 0 评论 -
javascript深入理解js闭包
一、变量的作用域要理解闭包,首先必须理解JavaScript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。Js代码 var n=999; function f1(){ alert(n); } f1(); // 999另一转载 2017-03-13 14:32:41 · 224 阅读 · 0 评论 -
Js作用域与作用域链详解
一直对js的作用域有点迷糊,今天偶然读到JavaScript权威指南,立马被吸引住了,写的真不错。我看的是第六版本,相当的厚,大概1000多页,js博大精深,要熟悉精通需要大毅力大功夫。一:函数作用域 先看一小段代码:[javascript] view plain copyvar scope="global"; fu转载 2017-07-24 17:59:28 · 200 阅读 · 0 评论 -
Babel 转码器
Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在现有环境执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。下面是一个例子。// 转码前input.map(item => item + 1);// 转码后input.map(function (item) { return item + 1;});上面转载 2017-08-09 17:46:46 · 511 阅读 · 0 评论 -
30分钟掌握ES6/ES2015核心内容(上)
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015。也就是说,ES6就是ES2015。虽然目前并不是所有浏览器都能兼容ES6全部特性,但越来越多的程序员在实际项目当中已经开始使用ES6了。所以就算你现在不打算使用ES6,但为了看懂别人的你也该懂点ES6的语法了...转载 2017-08-16 21:54:39 · 317 阅读 · 0 评论 -
30分钟掌握ES6/ES2015核心内容(下)
在 30分钟掌握ES6/ES2015核心内容(上)我们讲解了es6最常用的一些语法:let, const, class, extends, super, arrow functions, template string, destructuring, default, rest arguments俗话说打铁要趁热,今天我们继续讲es6其他几个非常有用的新特性。import ex转载 2017-08-16 22:06:42 · 200 阅读 · 0 评论 -
深入学习JavaScript: apply call方法 详解
摘自:http://blog.csdn.net/qianzai5765638/article/details/6952321我在一开始看到JavaScript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享.. 如有什么不对的或者说法不明确的地方希望读者多多提一些转载 2017-08-16 22:44:55 · 249 阅读 · 0 评论 -
《ECMAScript 6入门》笔记1
1、let命令:用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。转载 2017-08-09 23:05:00 · 383 阅读 · 0 评论 -
《ECMAScript 6入门》笔记2
块级作用域ES5只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景。第一种场景,内层变量可能会覆盖外层变量。var tmp = new Date();function f() { console.log(tmp); if (false) { var tmp = 'hello world'; }}f(); // undefined上面代码转载 2017-08-10 12:43:23 · 366 阅读 · 0 评论 -
《ECMAScript 6入门》笔记3
const命令基本用法const声明一个只读的常量。一旦声明,常量的值就不能改变。const PI = 3.1415;PI // 3.1415PI = 3;// TypeError: Assignment to constant variable.const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。const foo;转载 2017-08-10 22:47:04 · 467 阅读 · 0 评论 -
严格模式和非严格模式之间的区别
1、在严格模式中禁止使用with语句。2、在严格模式中,所有的变量都要先声明,如果给一个未声明的变量、函数、函数参数、catch从句参数或全局对象的属性赋值,将会抛出一个引用错误(在非严格模式中,这种隐式声明的全局变量的方法是给全局对象新添加一个新属性)。3、在严格模式中,调用的函数(不是方法)中的一个this值是undefined。(在非严格模式中,调用的函数中的this值总是全局对象)原创 2017-10-10 15:20:54 · 3520 阅读 · 1 评论