多年以前,当我怀揣着前端工程师的梦想时,曾经认真阅读过《JavaScript高级程序设计(第2版)》。里面有一个问题(P147),让我一直百思不得其解。 表面上看,最终会输出各个元素对应的索引,依次输出0,1,2……9。但实际上却是输出10个10 1. 词法作用域 简单地说,词法作用域就是定义在词法 ...
分类:
编程语言 时间:
2018-09-23 00:18:23
阅读次数:
201
《JavaScript高级程序设计》第三版 P35 认识对象 书上一句话总结了对象:对象就是一组数据和功能的集合。(听着很简单!但是,这个集合到底是什么,该怎么用...一脸懵逼) 在ES中,Object类型是所有它的实例的基础。也就是Object类型所具有的的任何属性和方法也同样存在更具体的对象中。 ...
分类:
编程语言 时间:
2018-09-22 16:58:30
阅读次数:
192
主要参考 《JavaScript高级程序设计》 ECMAScript中的六种数据类型 ECMAScript中包含 六种数据类型 : Undefined Null Boolean Number String Object 其中,Undefined类型和Null类型是唯二的 仅有一个值 的数据类型 运算 ...
分类:
编程语言 时间:
2018-09-15 18:45:13
阅读次数:
162
参考: 《JavaScript》高级程序设计第21章:Ajax和Comet jQuery中Ajax操作 用法: 都能继承另一个对象的方法和属性,区别在于参数列表不一样 区别: Function.apply(obj, args) args是一个数组,作为参数传给Function Function.ca ...
分类:
编程语言 时间:
2018-09-07 20:09:03
阅读次数:
211
复制变量值 一个变量向另一个变量复制基本类型值和引用类型值时,是存在不同的。 一个变量向另一个变量复制基本类型的值,会在变量的对象上创建一个新值,然后把该值复制到为新变量分配的位置上。 用图来看如下: 两个值不会相互影响 一个变量向另一个变量赋值引用类型的值,实际上是复制指向这个地址的指针。 具体如 ...
分类:
编程语言 时间:
2018-09-01 18:08:36
阅读次数:
172
1、 闭包的含义 首先闭包并不是针对某一特定语言的概念,而是一个通用的概念。除了在各个支持函数式编程的语言中,我们会接触到它。一些不支持函数式编程的语言中也能支持闭包(如java8之前的匿名内部类)。 在看过的对于闭包的定义中,个人觉得比较清晰的是在《JavaScript高级程序设计》这本书中看到的 ...
引言:上一章我们提到过:继承采用原型链方式实现,而原型在实现属性共享上有优势也有缺点,所以原型链实现继承也是不可避免碰到这样的问题,第二个情况是:在创建子类型的实例时,不能向超类型的构造函数中传递参数。实际上, 应该说是没有办法在不影响所有对象实例的情况下,给超类型的构造函数传递参数。这一章节,我们 ...
分类:
编程语言 时间:
2018-08-15 17:03:24
阅读次数:
140
引言:前面的一章我们已经介绍了引用类型,其中在那一章我们大概了解到了“对象”这个概念。同时也提到 JavaScript 中函数也是对象,甚至可以提出“万物皆对象的概念”。那么在这一章我开始就对 JavaScript的“对象”开始一个学习总结,首先我们可以了解的是,面向对象都有一个“类”的概念。而通过 ...
分类:
编程语言 时间:
2018-08-13 13:52:15
阅读次数:
182
引言:前面两节我对 Object 与数组Array 及其方法进行了总结,篇幅很长,总结完后我感觉还是要多开几节来对第五章进行分节总结,不然排版的知识点看着的确是有些混乱。 总结的学习的确是很痛苦并快乐的,痛苦在于知识点真的很多,总结起来很累,如何选取精简的内容,怎么排版都是考虑之中。而快乐之处在于, ...
分类:
编程语言 时间:
2018-08-08 13:41:16
阅读次数:
140
引言:这一节我们对执行环境及作用域以及JavaScript的内存、垃圾机制等进行总结。 执行环境:执行环境(或者直接称:环境)是JavaScript 中最为重要的一个概念,执行环境定义了变量或函数有权访问的其他数据,决定了他们的各自行为。每个执行环境都有一个与之关联的 变量对象 ,环境中定义的所有变 ...
分类:
编程语言 时间:
2018-08-05 18:58:59
阅读次数:
135