Concept WHAT : 内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束.正常情况下,垃圾回收器在DOM元素和event处理器不被引用或访问的时候回收它们.但是,IE的早些版本(IE7和之前)中内存泄漏是很容易出现的,因为内存管理器不能正确理解Javascript生命周期而且在周期被打破(可以通过赋值为null实现)前不会回收内存.   WHY : 在大型Web应用程序中内存泄漏是一种常见的意外编程错误.内存泄漏会降低Web应用程序的性能,直到浪费的内存超过了系统所能…
一.引言 先等等吧……累了…
浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //true 相同类型 相同值     test === num //true 相同类型 相同值     test !== num //false test与num类型相同,其值也相同, 非运算肯定是false     num == str  //true 把str转换为数字,检查其是否相等.     nu…
0x00:什么是Ajax? Ajax是Asynchronous Javascript And Xml 的缩写(异步javascript及xml),Ajax是使用javascript在浏览器后台操作HTTP和web服务器进行数据交换(用户不知道也感觉不出来,就跟桌面应用程序似的进行数据交互),它不会导致页面重新加载,这样才有更好的用户体验. Ajax是基于以下开放标准: javascript(DOM) css html xml(json) 通俗的说就是使用了javascript(DOM)的XMLH…
浅谈JS中的闭包 在介绍闭包之前,我先介绍点JS的基础知识,下面的基础知识会充分的帮助你理解闭包.那么接下来先看下变量的作用域. 变量的作用域 变量共有两种,一种为全局变量,一种为局部变量.那么全局变量的作用域为: 局部变量只能在定义此变量的函数体内使用,则局部变量的作用域为定义此变量的函数体.而全局变量可以全局使用.局部变量只有在调用函数的时候存在,函数调用完成之后立马就销毁了,而全局变量会一直存在. 首先我在全局变量中定义一个变量a,var a=0;那我们了解到变量a在内存中的存储是wind…
浅谈JS面向对象 一 .什么是面向过程 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了.注重代码的过程部分. 二.什么是面向对象 最先出现在管理学中,是一种管理资源(资源等于空间)和能力(能力导致运动,运动等于时间)的方法论. 面向对象是一种思维方法 面向对象是一种编程方法 面向对象并不只针对某一种编程语言 三.面向对象和面向过程的区别和联系 “面向过程”是一种以过程为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步…
本文来自网易云社区 作者:刘凌阳 前言 本文依据半年前本人的分享<浅谈js拖拽>撰写,算是一篇迟到的文章. 基本思路 虽然现在关于拖拽的组件库到处都是,HTML5也把拖放纳入了标准.但考虑到兼容问题,我们还是从最古老的方式开始讲起. onmousedown:模拟开始拖拽事件.   鼠标按键按下即发生  onmousedown  事件.  获取鼠标位置,获取被拖拽元素的位置,记录两者之间的纵横坐标的差值.对  document  元素绑定  onmousemove,onmouseup  事件.…
浅谈JS中 var let const 变量声明 用var来声明变量会出现的问题: 1. 允许重复的变量声明:导致数据被覆盖 2. 变量提升:怪异的数据访问.闭包问题 3. 全局变量挂载到全局对象:全局对象成员污染问题 例1: 用var声明的变量会默认被提升到当前作用域的顶部 例2: For循环内的i变量当前所处的环境是全局作用域(函数局部作用域同理,只不过声明之后不绑定在window上). ,这就产生了闭包,如下图   ES6 中引入let 和 const,以及块级作用域来解决这个问题   什…
详细内容请点击 分享的笔记本-前端 开发中,我们常遇见的一些关于js内存泄露的问题,有时候我们常常会找半天找不出原因,这里给大家介绍简单便捷的方法 1.闭包上下文绑定后没有释放:   2.观察者模式在添加通知后,没有及时清理掉: 3.定时器的处理函数没有及时释放,没有调用clearInterval方法: 4.视图层有些控件重复添加,没有移除. 更多javascript内容请点击…
最近接受了一个Js职位的面试,问了很多Js的高级特性,才发现长时间使用已知的特性进行开发而忽略了对这门语言循序渐进的理解,包括Java我想也是一样,偶尔在Sun官方看到JDK6.0列举出来的new features才发现很多东西是自己并不知道或者遗忘了的.看来还是要坚持总结技术,反复理解和运用才能保持对任何技术的掌握运用能力阿. 翻了一些Js的新老资料,准备先讲讲Js的内存泄露问题——当一个DOM对象包含一个Js对象的引用(例如一个Event Handler), 而这个Js对象又持有对这个DOM…