1 6种值被当做假:false、null、undefined、空字符串''、数字0、数字NaN,其他所有值都为真,包括"false"

2 typeof有6种值,分别是'number','string','boolean','undefined','function','object';其中typeof(null),结果是'object'

3 如果第一个运算数的值为真,那么运算符||产生它的第一个运算数的值.否则,它产生第二个运算数的值.如,可利用||运算符来填充默认值var status = flight.status || "unkonwn"

4 apply方法让我们构建一个参数数组传递给调用函数,它允许我们选择this的值。apply接受两个参数,第一个是要绑定给this的值,第二个是参数数组
//构造一个包含两个数字的数组,并将它们相加
var array = [3, 4];
var sum = add.apply(null, array); //sum的值为7

5 异常处理

var add = function(a, b) {if(typeof a !== 'number' || typeof b !== 'number') {throw {name: 'TypeError',message: 'add needs numbers'};}return a + b;
}//构造一个try_it函数,以不正确的方式调用之前的add函数
var try_it = function() {try {add("seven");} catch (e) {document.writeln(e.name + ':' + e.message);}
}

6 给Number.prototype增加一个integer方法,根据数字的正负来判断是使用Math.ceiling(向上取整)还是Math.floor(向下取整)

Number.method('integer', function() {return Math[this<0 ? 'ceil' : 'floor'](this);
});
document.writeln((-10/3).integer()); //-3

7  移除字符串首尾空白的方法

String.method('trim', function() {return this.replace(/^\s+|\s+$/g, '');//正则的意思是从头开始匹配空白字符一次或多次,从最好开始匹配空白字符一次或多次
});document.writeln('"' + "  neat   ".trim() + '"');

  

8 模块是一个提供接口却隐藏状态与实现的函数或对象,模块模式一般形式是:一个定义了私有变量和函数的函数;利用闭包创建可以访问私有变量和函数的特权函数;最后返回这个特权函数,或者把他们保存到一个可以访问到的地方,使用模块模式可以摒弃全局变量的使用

String.method('deentityfity', function() {//字符实体表,它映射字符实体的名字到对应的字符var entity = {quot: '"',lt: '<',gt: '>'};//返回deentityfity方法return function() {return this.replace(//&([^&;]+);/g, function(a, b) {//如果字符串可以再映射表中找到就将其替换为映射表中的值var r = entity[b];return typeof r === 'string' ? r : a;});};
}());
document.writeln('<">'.deentityfity()); // <">

  

9 javascript缺少块级作用域,所以,最好的做法是在函数体的顶部声明函数中可能用到的变量

10 /^ $/i,我们用^和$来框定这个表达式,它指引这个正则表达式对文本中的所有字符进行匹配,如果省略了这个标识,那么只要一个字符串包含一个数字,这个正则表达式就进行匹配,但有了这些标识,只有当一个字符串的内容仅为一个数字的时候,它才会告诉我们,如果仅包含^, 它将匹配以一个数字开头的字符串,如果我们仅包含$, 则匹配以一个数字结尾的字符串。

11 (?:...)?表示一个可选的非捕获型分组

12 javascript中的糟粕

全局变量 :越少越好
作用域 :无块级作用域,在每个函数开头部分声明所有变量
自动插入分号 :因此大括号风格需使用埃及括号
Unicode :javascript字符是16位的,只能覆盖65535个字符
parseInt :增加第二个参数,明确进制,parseInt("08",10)
浮点数 :二进制浮点数不能正确的处理十进制小数,0.1+0.2不等于0.3,不过整数部分是精确的
NaN : typeof NaN === 'number' //true; NaN === NaN //false;
对象 :因为原型链的存在,javascript对象永远不会有真的空对象

转载于:https://www.cnblogs.com/elexiang/p/4743581.html

《Javascript语言精粹》 读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. 【Qt】设置窗口透明度
  2. android native java_在Android Native层中创建Java虚拟机实例
  3. java代码讲解_Java基础系列-代码块详解
  4. 【C++ 语言】vector 容器 ( 容器分类 | vector 声明 | vector 初始化 | vector 容器元素增删查改 )
  5. 001_jQuery简介
  6. 1.22 实例:商品信息查询
  7. int指令---汇编学习笔记
  8. nginx.config widows 简单配置存储
  9. html 给照片添加圆角属性,CSS3新增属性(背景图、边框背景、圆角)
  10. conda create出现连接问题_[转] conda安装torch出现链接错误
  11. 我们需要什么样的字段类型?
  12. POJ 3683 Priest John's Busiest Day
  13. 信息论与编码曹雪虹第三版学习第二章总结
  14. 利用Wireshark分析UDP数据包
  15. 马未都说收藏:陶瓷篇(1)历史朝代、陶器
  16. DHCP以及DHCP中继
  17. linux系统安装hba驱动,Linux系统上iSCSI HBA的安装和配置
  18. 前端700行代码项目练习--小米官网(仅html、css实现)
  19. 拍照前打闪的注意事项
  20. 牛客练习赛24-B-贪心

热门文章

  1. python基础list_Python基础4(list:列表)
  2. h5 修改title 微信_微信公众号客服消息不限次数推送如何设置?
  3. linux 路由指向策略,Linux 路由 学习笔记 之六 策略规则的添加
  4. 零钱兑换—leetcode322
  5. 三数之和—leetcode15
  6. sql2016是否支持linux,微软 SQL Server 支持 Linux 了,2017年 中将正式推出
  7. 苹果史诗级硬件漏洞 iOS 可永久越狱并且无法修复
  8. ARM处理器中“8位位图”
  9. Codeforces Round #506 (Div. 3) - D. Concatenated Multiples(思维)
  10. python分析基金数据_python基金会(大数据分析),的,PYTHON,基础,选择,练习