《JavaScript高级程序设计 第3版》-学习笔记-2
P31-P82页
1、相等不相等与全等不全等
相等不相等:先转换后比较。对于只有一个对象,调用valueOf方法得到基本类型值再按基本类型转换;如果两个都是对象,则比较他们是否是同一个对象(引用或指针值比较);null与undefined是相等的,至少有一个为NaN则相等为false,不相等为true;
全等不全等:只比较。只在两个操作数未经转换就相等的情况下返回true,特别的,null与undefined不全等,因为连类型都不同
2、未指定返回值类型的函数返回的是一个特殊的值-undefined
3、只能给引用类型动态的添加属性
obj = new Object();
obj.name = "lisimi";/*动态添加name属性*/
4、复制变量和传递参数都是值复制、值传递,对于基本数据类型,复制或传递是将值的副本放到新的变量里,对于引用数据类型,其实也是值传递,不过这个值比较特殊,是一个引用值(或者说指针),引用指向的对象并没有参与复制,也就是说最后两个引用变量指向同一个对象
5、每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。执行环境有很多种,有全局环境、函数环境、with环境等等,这些环境的变量对象一起构成了作用域链。作用域越小,对应的变量对象在链上越靠前,作用域越大,变量对象在链上越靠后,全局执行环境的变量对象始终都是作用域链中最后一个对象
6、没有块级作用域,不声明直接使用则被当做全局变量(最好不要这么写)。
7、目前的JavaScript垃圾回收机制多采用标记清除的方式
《JavaScript高级程序设计 第3版》-学习笔记-2的更多相关文章
- JavaScript高级程序设计第三版学习笔记(一)之数据类型区分详谈
null.NaN.undefined三者的区别是什么? 在初次接触到JavaScript的时候,傻傻的分不清null.NaN.undefined三者到底区别何在,在实际的项目开发中也因为这个问题而困惑 ...
- JavaScript高级程序设计第三版-读书笔记(1-3章)
这是我第一次用markdown,也是我第一次在网上记录我自己的学习过程. 第一章 JavaScript主要由以下三个不同的部分构成 ECMAScript 提供核心语言功能 DOM 提供访问 ...
- JavaScript高级程序设计第三版.CHM【带实例】
从驱动全球商业.贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当今世界上最流行的编程语言一点儿都不为过. JavaScript 是一种非常松散的面向对象语言,也是 ...
- javascript权威指南第6版学习笔记
javascript权威指南第6版学习笔记 javascript数组.函数是特殊对象 看一点少一点. 3.1.4 hello.js内容是 var x=.3-.2;var y=.2-.1 console ...
- JavaScript 高级程序设计 (第4版) 思维导图/脑图 All In One
JavaScript 高级程序设计 (第4版) 思维导图/脑图 All In One JavaScript 高级程序设计 (第4版) 思维导图下载 JavaScript 高级程序设计 (第4版) 脑图 ...
- 《JavaScript高级程序设计》(第二版)
这本书的作者是 Nicholas C.Zakas ,博客地址是 http://www.nczonline.net/ ,大家可以去多关注,雅虎的前端工程师,是YUI的代码贡献者,可想而知这本书得含金量, ...
- 《JavaScript高级程序设计 第3版》-学习笔记-1
P1-P30页 1.<script>标签的属性 async:async(html) | async="async"(xhtml),表示立即下载脚本,但不马上执行(执行 ...
- 《JavaScript高级程序设计 第3版》-学习笔记-3
P84-P137页, 这一章看的真久,这个月事太多了.有些内容在代码注释里没提出来了 1.JS强大的数组类型,元素类型任意,提供了非常多的操作数组的方法和属性 /* 数组类型 */ //stack v ...
- 再次精读《javascript高级程序设计第3版》学习笔记(1)
第一次拿起这本书是2016年暑假,时隔2年,又一次开始研读这本经典书籍.每次读,都是对之前的一次沉淀和总结,每次都会有新的收获.
随机推荐
- 加速 Gradle 构建大型 Android 项目的方法[转]
加速 Gradle 构建大型 Android 项目的方法 时间 2016-03-14 20:38:00 Mystra 原文 http://www.wangchenlong.org/2016/03/ ...
- FPGA的JTAG下载问题
前两天做一个工频信号源项目,连续出现两块FPGA板JTAG编程failed现象,不知道原因.网上搜索了下,有帖子说如果是JTAG损坏了,用表笔打TCK,TMS,TDI,TDO,看是否存在和GND短接, ...
- Apache Solr配置
Solr配置 Solr的主要功能是全文检索,该功能分为两个过程:创建索引和对索引进行搜索: 在创建索引之前,需要重点关注两个配置文件:SOLR_HOME/collection1/conf/schema ...
- [D3 + AngularJS] 15. Create a D3 Chart as an Angular Directive
Integrating D3 with Angular can be very simple. In this lesson, you will learn basic integration as ...
- MySQL源码:索引相关的数据结构
http://www.orczhou.com/index.php/2012/11/mysql-source-code-data-structure-about-index/ 本文将尝试介绍MySQL索 ...
- PCAP 文件内容解析命令
针对网络接口.端口和协议的数据包截取.假定你要截取网络接口eth1,端口号6881的tcp数据包.数据文件保存为test.pcap. tcpdump -w test.pcap -i eth1 tcp ...
- MapReduce链接作业
对于简单的分析程序,我们只需一个MapReduce就能搞定,然而对于比较复杂的分析程序,我们可能需要多个Job或者多个Map或者Reduce进行计算.下面我们来说说多个Job或者多个MapReduce ...
- ATL 工程下添加右击菜单
首先在dllmain.cpp中添加如下声明 HINSTANCE g_hInstance; g_hInstance = hInstance; 源码如下: CPoint point; ::GetCur ...
- 软件版本中的Alpha,Beta,RC,Trial是什么意思?
版本号: V(Version):即版本,通常用数字表示版本号.(如:EVEREST Ultimate v4.20.1188 Beta ) Build:用数字或日期标示版本号的一种方式.(如:VeryC ...
- WebService学习笔记系列(四)
今天主要来看看服务端的编写及发布. 服务端的编写主要包括三个步骤: 1.编写一个接口,即SEI(server endpoint interface) 2.编写接口的实现类,即SIB (server i ...