闭包,作用域链,垃圾回收,内存泄露

闭包,作用域链,垃圾回收,内存泄露
1. 什么是闭包? 来看一些关于闭包的定义: 闭包是指有权访问另一个函数作用域中变量的函数 --《JS高级程序设计第三版》 p178 函数对象可以通过作用域链相关联起来,函数体内部的变量都可以保存在函数作用域内,这种特性称为 ‘闭包’ 。 --《JS权威指南》 p183 内部函数可以访问定义它们的外部函数的参数和变量(除了this和arguments)。 --《JS语言精粹》 p36 来个定义总结 可...

js 判断各种数据类型

js 判断各种数据类型
了解js的都知道, 有个typeof  用来判断各种数据类型,有两种写法:typeof   xxx   ,typeof(xxx)        如下实例:        typeof   2      输出   number        typeof   null   输出 &...

websocket与http的区别与联系

websocket与http的区别与联系
一、websocket与http WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算) 首先HTTP有 1.1 和 1.0 之说,也就是所谓的 keep-alive ,把多个HTTP请求合并为一个,但是 Websocket 其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说...

常见 HTTP/FTP/WebSocket 错误代码大全

常见 HTTP/FTP/WebSocket 错误代码大全
HTTP 1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应。 这些状态码代表的响应都是信息性的,标示客户应该采取的其他行动。 100 - 客户端应当继续发送请求 101 - 切换协议 1...

JS数组去重的14种常见方法

JS数组去重的14种常见方法
一、简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } return temp; }...

关于Function中的bind()示例详解

关于Function中的bind()示例详解
前言 bind()接受无数个参数,第一个参数是它生成的新函数的this指向,比如我传个window,不管它在何处调用,这个新函数中的this就指向window,这个新函数的参数就是bind()的第二个、第三个、第四个....第n个参数加上它原本的参数。(行吧,我自己都蒙圈了) 示例介绍 我们还是看看栗子比较好理解,举个bind()最基本的使用方法: ? 1 2 ...

angular中不同的组件间传值与通信的方法

angular中不同的组件间传值与通信的方法
父子组件间参数与通讯方法 使用事件通信(EventEmitter,@Output): 场景:可以在父子组件之间进行通信,一般使用在子组件传递消息给父组件; 步骤: 子组件创建事件EventEmitter对象,使用@output公开出去; 父组件监听子组件@output出来的方法,然后处理事件。 使用@ViewChild和@ViewChildren: 场景:一般用于父组件给子组件传递信息,或者父组件调用子组件的方...

前端缓存详细解析

前端缓存详细解析
最近把前端缓存重新整理了一下,从整体的层面上把前端所有能用的缓存方案梳理了一遍。同时,对于http缓存,使用了表格的方案,使得原先晦涩难记的特性变得清晰明了。特记录于此,若有什么欠缺,也望不吝指出。 1. 前端缓存概述 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置;而浏览器缓存则主要由前端开发在前端js上进行...

js删除数组元素、清空数组的简单方法(必看)

js删除数组元素、清空数组的简单方法(必看)
一、清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二、删除数组元素 var ary = [1,2,3,4]; ary.splice(0,1); 或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置。 三,js 删除数组几种方法 var arr=['a','b','c']; 若要删除其中...

使用Object.prototype上的原生toString()方法判断数据类型

使用Object.prototype上的原生toString()方法判断数据类型
使用Object.prototype上的原生toString()方法判断数据类型,使用方法如下: Object.prototype.toString.call(value) 1.判断基本类型: Object.prototype.toString.call(null);//”[object Null]” Object.prototype.toString.call(undefined);//”[object Undefined]” Object.prototype.toString.call(“abc”);//”[object String]” Object.prototype.toString.call(123);//”[object Number]” Obje...
Copyright © 前端技术分享休闲玩耍去处分享-大一网 保留所有权利.   Theme  Ality

用户登录 ⁄ 注册

分享到: