JavaScript的规范(ECMA-262 ECMAScript)没规定JavaScript引擎要如何实现对JavaScript对象的内存管理.实际实现中几乎所有JavaScript引擎都使用基于跟踪(trace)的GC来实现自动内存管理.编写JavaScript程序时只要管new出对象,JavaScript引擎在底下会通过分析对象图的可到达性来判断对象的存活,进而释放掉已无活引用的对象. 所以要让JavaScript引擎有机会释放掉某个对象,就得确保整个程序里已经没有对那个对象的活引用. 前…
js之DOM对象三   一.JS中for循环遍历测试 for循环遍历有两种 第一种:是有条件的那种,例如    for(var i = 0;i<ele.length;i++){} 第二种:for (var i in li ){} 现在我们来说一下测试一下第二种(数组和obj的) 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"&g…
看了知乎上的话题 如何才能通俗易懂的解释javascript里面的‘闭包’?,受到一些启发,因此结合实例将回答中几个精要的答案做一个简单的分析以便加深理解. 1. "闭包就是跨作用域访问变量."  [示例一] var name = 'wangxi' function user () { // var name = 'wangxi' function getName () { console.log(name) } getName() } user() // wangxi 在 getNa…
对象的属性名可加上引号,下面三行代码所定义的内容是完全相同的 var hero = { occupation : 1 }; var hero = { "occupation" : 1 }; var hero = { 'occupation' : 1 }; 通常情况下不建议在属性名上加引号,但以下情境就必须加引号: 属性名是JS的保留字之一 属性名包含了除字母数字下划线$以外的字符 属性名以数字开头 总而言之,若属性名不符合JS的变量命名规则就必须加上引号 对象的属性值可以是函数,因为函…
javascript进阶课程--第二章--对象 学习要点 理解面向对象的概念 掌握对象的创建方法 掌握继承的概念和实现方法 基本概念 对象究竟是什么?什么叫面向对象编程? 对象是从我们现实生活中抽象出来的一个概念,俗话说物以类聚,人以群分.这里面就有两个重要概念 类:无论是物以类聚,还是有一类人,这里说的类并不是实际存在的事物,是一些特征.是一些规则等 人/物,是现实存在,和类的关系就是符合类的描述 类和实例的概念 类:每个对象都由类定义,可以把类看做对象的配方. 类不仅要定义对象的的属性和方法…
对象是 JavaScript 的基本数据类型.是一种复合值:将很多值聚合在一起.对象可以看做是无序集合,每个属性都是一个名/值对.这种基本数据结构还有很多叫法,比如「散列」(hash).「散列表」(hashtable).「字典」(dictionary).「关联数组」(associative array).JavaScript 还可以从一个称为 原型 的对象继承属性 JavaScript 对象是动态的 -- 可以新增属性也可以删除属性,除了字符串.数字.布尔值.null 和 undefined 之…
要了解JavaScript对象,我们可以从对象创建.属性操作.对象方法这几个方面入手.概括起来,包括以下几模块: 1.创建对象        1.1 对象直接量        1.2 通过new创建对象        1.3 Object.create    2.属性管理        2.1 属性查询和设置        2.2 删除属性        2.3 检测属性        2.4 枚举属性    3.属性封装        3.1 属性getter和setter        3.…
JavaScript 面向对象精要--理解对象 尽管JavaScript里有大量内建引用类型,很可能你还是会频繁的创建自己的对象.JavaScript中的对象是动态的. 一.定义属性 当一个属性第1次被添加给对象时JavaScript在对上上调用了一个名为 [[Put]]的内部方法,该方法会在对象上创建一个新节点保存属性,就像 哈希表上第一次添加一个键一样这个操作不仅指定了初始值 也定义了属性的一些特征 1.1 [[Put]]内部方法 [[Put]]在对象上创建一个自有属性 1.2 [[Set]…
1.对象相关的一些语言特性 JavaScript里所有的东西都是对象, 对象是属性的集合.要知道,函数也是对象, 能够作为变量的值. 返回值. 参数或者属性的值. 函数对象特殊的地方是能通过"xxx()"语法执行包含在xxx函数对象内的代码. 2.对象的属性可以动态添加和删除 var foo = new Object(); // 为foo对象添加bar属性 foo.bar = "foobar"; alert(foo.bar); //foobar // 删除foo对象…
JavaScript学习06 JS事件对象 事件对象:当事件发生时,浏览器自动建立该对象,并包含该事件的类型.鼠标坐标等. 事件对象的属性:格式:event.属性. 一些说明: event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等: event对象只在事件发生的过程中才有效. firefox里的event跟IE里的不同,IE里的是全局变量,随时可用:firefox里的要用参数引导才能用,是运行时的临时变量. 在IE/Opera中是window.event,在Fi…