《JavaScript面向对象编程指南》读书笔记①
概述
JavaScript快忘完了,想看一本专业书拾遗,所以看了这本《JavaScript面向对象编程指南》。
个人觉得这本书讲的很透彻很易懂,一些原来有疑惑的地方在这本书里面豁然开朗,看起来非常爽!
现在我只记录一下我看这本书记录下的一些东西。那些简单的知识我没有记录,我只记录几个容易遗漏的或者精彩的知识点,以后再看也可当做拾遗之用!
记录
- 对象,方法,属性和类的通俗解释:对象往往是用名词来表示的(也被称为实例);方法一般都是些动词;属性值则往往是一些形容词;类就是相似对象的共同特征。
- 什么是接口?以MP3播放器为例,如果MP3播放器是一个对象,那么作为该对象的用户,我们无疑需要一些类似于像按钮,显示屏这样的工作接口。这些接口能帮助我们使用该对象(如播放歌曲之类的)。至于它们内部是如何工作的,我们并不清楚。
- 所谓XX的初始化,实际上指的是XX首次(或者最初)被赋值或使用的时机。
- 我们可以将
2e+3理解为将数字2的小数点向右移三位,同理2e-3也就能被理解为是将数字2的小数点左移三位。 - \u后面的字符将会被视为
Unicode码。 - 使用双重取反操作可以很容易的将任何值转换为等效的布尔值。
var mynumber=mynumber || 10。- 代码的操作符,关键字前后要加空格,为了美观。
- 如何确定一个输入值是否是一个可以参与算术运算的数组?用
isNaN()。 eval()会将其输入字符串当做JavaScript代码来执行。var a = 123; function f() {alert(a); var a = 1; alert(a);} f();会显示什么?- 当我们将函数A传递给函数B,并由B来执行A时,A就成了一个回调函数。也就是说,回调函数就是当做参数使用的函数。(回调函数可参见《JavaScript面向对象编程指南》的第65页,非常精彩。)
- 自调匿名函数的好处在于这样不会产生任何全局变量。
- 有没有函数能够在每次调用的时候重写自己,然后每次调用的时候更新自己?有!利用能够返回函数的函数!(参见《JavaScript面向对象编程指南》的第69页,非常精彩。)
- 如果对象的属性名不符合JavaScript中的变量命名规则,就必须对其施加一对引号。
- 哈希表:以字符串为键值的关联型数组。
- 依照惯例,我们应该将构造器函数的首字母大写,一遍显著地区别于其他一般函数。
Function构造器,eval()和setTimeout()都会以字符串的形式通过JavaScript的代码检查。Function对象也有一个length属性,用于记录该函数所拥有的参数数量;还有一个caller属性,会返回一个调用该函数对象的外层函数引用。arguments属性有一个callee属性,它引用的是当前被调用的函数对象。Number对象本身有5个内置属性和3个内置方法。- 基本类型的字符串不是字符串对象;基本类型的数字不是数字对象。
- 正则表达式的回调式替换
function f() {function c() {return this;} return c();} var o = new f();其中this指向的是谁?(window)- 路很长,永远也没有终点,但是放弃只是一刹那的时间!共勉!
《JavaScript面向对象编程指南》读书笔记①的更多相关文章
- js_读【javascript面向对象编程指南】笔记
写在前面: 工欲善其事,必先利其器.编程的器,是前人总结的经验,常言道站在巨人的肩膀上开发,往往比自己另辟蹊径容易的多.经验藏于书,故有书中自有颜如玉,书中自有黄金屋,我也一度认为读书要花费很多时间, ...
- 《JavaScript面向对象编程指南(第2版)》读书笔记(一)
目录 一.对象 1.1 获取属性值的方式 1.2 获取动态生成的属性的值 二.数组 2.1 检测是否为数组 2.2 增加数组长度导致未赋值的位置为undefined 2.3 用闭包实现简易迭代器 三. ...
- 《JavaScript面向对象编程指南(第2版)》读书笔记(二)
<JavaScript面向对象编程指南(第2版)>读书笔记(一) <JavaScript面向对象编程指南(第2版)>读书笔记(二) 目录 一.基本类型 1.1 字符串 1.2 ...
- 《JavaScript面向对象编程指南》读书笔记②
概述 <JavaScript面向对象编程指南>读书笔记① 这里只记录一下我看JavaScript面向对象编程指南记录下的一些东西.那些简单的知识我没有记录,我只记录几个容易遗漏的或者精彩的 ...
- 闭包初体验 -《JavaScript面向对象编程指南》
下面是我对闭包的理解:(把他们整理出来,整理的过程也是在梳理) 参考<JavaScript面向对象编程指南> 1.首先,在理解闭包之前: 我们首先应该清楚下作用域和作用域链 作用域:每个函 ...
- JavaScript面向对象编程指南(第2版)》读书笔记
一.对象 1.1 获取属性值的方式 water = { down: false } console.log(water.down) // false console.log(water['down'] ...
- 《JavaScript面向对象编程指南》译者序
相对于Perl.Python等动态脚本语言来说,JavaScript确实是一门饱受误解的语言.对于译者这种从20世纪90年代末走过来的C++程序员来说,尤其如此.在那个年代,提起JavaScript总 ...
- 《JavaScript面向对象编程指南》
第一章.引言 1.5 面向对象的程序设计常用概念 对象(名词):是指"事物"在程序设计语言中的表现形式. 这里的事物可以是任何东西,我们可以看到它们具有某些明确特征,能执行某些动作 ...
- [已读]JavaScript面向对象编程指南
又是一个忽悠人的书名,其实这本书的花了大量内容阐述JS的基础语法,BOM,DOM,事件,ajax(这个和很多js书一样).最后一章则是编程模式与设计模式. 我觉得与面向对象没多大关系,要算的话,pro ...
随机推荐
- 尚硅谷springboot学习31-jdbc数据连接
可以使用JdbcTemplate操作数据库,可以在启动的时候自动建表,更新数据表 配置依赖 <dependency> <groupId>org.springframework. ...
- 无法在正在进行内容生成时调用 StartAt
刚遇到一个奇怪的问题,用户点击创建销售订单的时候,弹出个 无法在正在进行内容生成时调用 StartAt,查看详细报错. ystem.InvalidOperationException: 无法在正在进行 ...
- (转)Detect it Easy(壳侦测工具)使用方法介绍
http://www.ucbug.com/jiaocheng/129805.html Detect it Easy是一个多功能的PE-DIY工具,主要用于壳侦测.功能正日益完善,是不可多得的破解利器! ...
- MySQL的安装流程与入门
MySQl是一种关系型数据库,存放的是文字数据,它是以“表”的形式进行存储的.由于MySQl的实用性和不收费,它在世界上是应用最多的数据库,但是,它不支持大量数据写入.接下来,我将为大家分享一下我学习 ...
- cdnbest区域里快速配置全部节点的缓存
1.在cdn后台区域中自定义区域配置中添加下面代码,具体参数也可自行调整,代码解释在文档最下面有 <!--#start --> <config> <lang>zh_ ...
- easyui改变tab标题
截图: 代码: //更改tab的标题 var tab = $('#microAppVersionTabs').tabs('getTab',0);// 取得第一个tab $('#microAppVe ...
- MSTP+ VRRP 交换机的 配置过程
配置思路采用以下思路配置: 1.在处于环形网络中的交换设备上配置MSTP基本功能,包括:a.配置MST域并创建多实例,配置VLAN2映射到MSTI1,VLAN3映射到MSTI2,实现流量的负载分担. ...
- Linux firewalld使用教程+rhce课程实验
--timeout= 设置规则生效300秒 调试阶段使用,防止规则设置错误导致无法远程连接 实验:在server0机器上部署httpd服务,通过添加富规则,只允许172.25.0.10/32访问,并且 ...
- crontab命令详解 含启动/重启/停止
linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者自己也可以设置计划任务,所以, ...
- 4412 uboot启动分析
感谢sea1105, https://blog.csdn.net/sea1105/article/details/52142772 在学习过程中,由于tiny4412资料太过于少,因此参考210的视屏 ...