《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 ...
随机推荐
- laravel不能读取session
Laravel用redis存储session,论坛有讨论说关于session无法保存的问题:https://laravel-china.org/topics/13510/points-to-be-pa ...
- Python实现EXCEL表格的排序功能
EXCEL的数值排序功能还是挺强大的,升序.降序,尤其自定义排序,能够对多个字段进行排序工作. 那么,在Python大法中,有没有这样强大的排序功能呢?答案是有的,而且本人觉得Python的排序功能, ...
- 1、detail页面 /items/detail/:id
<template> <div class="item_detail"> <van-swipe :autoplay="3000" ...
- mysql win10x64 免安装版 安装配置
安装包下载或者 gaobo百度云/工具/开发工具/mysql-5.7.23-winx64.zip 第一步, 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是: ...
- servlet 最大线程数探索笔记
servlet默认是单例模式的,所以是单例多线程的.如果实现了singleservlet是可以多个servlet实例,下面是一个servlet的请求生命周期 1 客户端请求该 Servlet:加载 S ...
- dagScheduler
由一个action动作触发sparkcontext的runjob,再由此触发dagScheduler.runJob,然后触发submitJob,封装一个JobSubmitted放入一个队列.然后再通过 ...
- 2019南昌网络赛-M(二分)
题目链接:https://nanti.jisuanke.com/t/38232 题意:给定字符串s(长度<=1e5),然后N组样例(N<=1e5),每组输入一个字符串t判断t是否为s的字串 ...
- H5滑条(input type=range)
input[type=range] { -webkit-appearance: none; width: 230px; border-radius: 10px; /*这个属性设置使填充进度条时的图形为 ...
- MySQL 树节点递归遍历所以子节点
DELIMITER $$ DROP FUNCTION IF EXISTS `getChildList`$$ CREATE FUNCTION `getChildList`(rootId INT) RET ...
- 快速创建IIS站点并设置权限
net user WebSiteUser WebSiteUserWebSiteUser /add /yWMIC Path Win32_UserAccount Where Name="Web ...