《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 ...
随机推荐
- Reboot-less node fencing in Oracle Clusterware 11g Release 2
在进行一次RAC的高可用性测试时,当private网卡的网线被拔掉之后,没有出现传说中的有一个节点被CRS强制重启,取而代之的是node2上面的ASM实例和RDBMS实例被关闭:当网线被重新插上时,n ...
- 修改tomcat的编码方式,可以解决某些get请求乱码问题
在tomcat/conf/server.xml配置文件添加如下,修改tomcat的编码方式 <Connector URIEncoding="utf-8" connection ...
- P1880 [NOI1995]石子合并-(环形区间dp)
https://www.luogu.org/problemnew/show/P1880 解题过程:本次的题目把石子围成一个环,与排成一列的版本有些不一样,可以在后面数组后面再接上n个元素,表示连续n个 ...
- MySQL经典练习题
表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id ...
- [leetcode]21. Merge Two Sorted Lists合并两个链表
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- kalman滤波(三)---各种滤波的方法汇总+优化的方法
大神解答 一.前提 最一般的状态估计问题,我们会根据系统是否线性,把它们分为线性/非线性系统.同时,对于噪声,根据它们是否为高斯分布,分为高斯/非高斯噪声系统.现实中最常见的,也是最困难的问题,是非线 ...
- Django 跨域请求 解决 axios 未完待续
import django import os # os.environ.setdefault("DJANGO_SETTINGS_MODULE", "untitled5. ...
- 万能的一句话 json
String str1 = new JavaScriptSerializer().Serialize(meetapply1);//meetapply1==object T
- 老毛子 Padavan 路由器固件开启教育网 IPv6 并实现IPv6转发
老毛子 Padavan 路由器固件开启教育网 IPv6 并实现IPv6转发 文章目录[隐藏] 一.开启opt环境 二.开启 WAN 端 IPv6 三.安装并运行 6relayd 四.开机自动安装并配置 ...
- c++WIN32获取syslistview行数
#include "stdafx.h" #include <windows.h> #include <commctrl.h> #include <io ...