《javascript语言精粹》读书笔记 Item1 精华与语法
第一章 精华
任何语言都有其精华的部分和鸡肋的部分,javascript也不例外,而且鸡肋的部分还很多。但javascript的流行却不受他的质量影响。
javascript为何如此流行?因为他是web浏览器的语言,所有浏览器都识别他。他与浏览器的结合自然成为了世界上最流行的语言之一。
javascript建立在一些非常好的想法和少数非常坏的想法之上。非常好的想法包括函数、弱类型、动态对象(这个还没理解)和富有表现力的对象字面量表示法;坏的想法包括基于全局变量的编程模型(所有编译单元的所有顶级变量被撮合到一个被称为全局对象的公共命名空间中)。
第二章 语法
2.1 空白
主要讲了何时可以用空白,书中不建议用/* */注释,尽量用//注释。比如:
/*
var rm_a=/a*/.match(s);
*/
这样会导致语法错误
2.2 标识符
保留字也不能用在对象字面量中或命名一个属性。
2.3 数字
(1) javascript只有单一的数字类型,所以1和1.0的值相同。与其他大多数编程语言不同的是,
它没有分离出整数类型,所以1和1.0的值相同。
(2)100和1e2是相同的数字。
(3)值Infinity表示所有大于1.79769313486231570e+308的数(即正无穷大)
(4)JavaScript有一个对象Math,它包含一套作用于数字的方法。
(5) 6种值会为假(==false),分别是false, null, undefined, ” ,0, NaN
2.4 字符串
(1)所有字符都是16位的,可以用单引号和双引号创建一个字符串。没有字符类型。
(2)”A”=”\u0041”,\u允许指定用数字表示字符码位
(3)字符串是不可变的。一旦字符串被创建,就永远无法改变它。但可以通过+运算符连接其他字符串来
创建一个新字符串。两个包含着完全相同的字符且字符顺序也相同的字符串被认为是相同(===)的字符串。
2.5 语句
(1) 在web浏览器中,每个< script>标签都提供一个被编译并可立即执行的编译单元。因为缺少链接器,javascript把它们一起抛入一个公共的全局名字空间中。
(2)javascript的代码块不会创建一个新的作用域。当var语句被用在函数内部时,它定义的是这个函数的私有变量。(最佳实践:定义任何变量都使用var)
(3)for in语句会枚举一个对象的所有属性名(键名)。通常需要检测object.hasOwnProperty(variable)来确定这个属性名是该对象的成员,还是来自于原型链。
2.6 表达式
(1)typeof运算符产生的值有 ‘number’,’string’,’boolean’,’undefined’,’function’,’object’ 6种。如果一个运算数是一个数组或null,那么结果是’object’,这是不对的。
(2)&& 的用法:如果第一个运算数的值是假,那么结果是第一个运算数的值。否则产生第二个运算数的值。如,可利用&&运算符避免检索undefined引起的异常
flight.equipment //undefined
flight.equipment.model //throw"TypeError"
flight.equipment && flight.equipment.model //undefined
(3)|| 用法:如果第一个运算数的值是真,那么结果是第一个运算数的值。否则产生第二个运算数的值。|| 运算符可以用来填充默认值:
var status = flight.status || "unknow";
版权声明:本文为小平果原创文章,转载请注明:http://blog.csdn.net/i10630226
《javascript语言精粹》读书笔记 Item1 精华与语法的更多相关文章
- JavaScript语言精粹-读书笔记
前言:很久之前读过一遍该书,近日得闲,重拾该书,详细研究一方,欢迎讨论指正. 目录: 1.精华 2.语法 3.对象 4.函数 5.继承 6.数组 7.正则表达式 8.方法 9.代码风格 10.优美的特 ...
- <JavaScript语言精粹>-读书笔记(一)
用object.hasOwnProperty(variable)来确定这个属性名是否为该对象成员,还是来自于原型链. for(my in obj){ if(obj.hasOwnProperty(my) ...
- JavaScript 语言精粹读书笔记
最近在看 赵泽欣 / 鄢学鹍 翻译的 蝴蝶书, 把一些读后感言记录在这里. 主要是把作者的建议跟 ES5/ES5.1/ES6 新添加的功能进行了对比 涉及到的一些定义 IIFE: Immediatel ...
- JavaScript语言精粹读书笔记 - JavaScript函数
JavaScript是披着C族语言外衣的LISP,除了词法上与C族语言相似以外,其他几乎没有相似之处. JavaScript 函数: 函数包含一组语句,他们是JavaScript的基础模块单元,用于代 ...
- <JavaScript语言精粹>--<读书笔记三>之replace()与正则
今天有人问我repalce(),他那个题目很有意思.我也不会做,于是我就去查,结果发现就是最基础的知识的延伸. 所以啊最基础的知识才是很重要的,千万不能忽略,抓起JS就写代码完全不知到所以然,只知道写 ...
- JavaScript语言精粹读书笔记- JavaScript对象
JavaScript 对象 除了数字.字符串.布尔值.null.undefined(都不可变)这5种简单类型,其他都是对象. JavaScript中的对象是可变的键控集合(keyed collecti ...
- 学习javascript语言精粹的笔记
1.枚举: 用for in 语句来遍历一个对象中所有的属性名,该枚举过程将会列出所有的属性也包括涵数和方法,如果我们想过滤掉那些不想要的值,最为常用的过滤器为hasOwnProperty方法,以及使用 ...
- 【Javascript语言精粹】笔记摘要
现在大部分编译语言中都流行要求强类型.其原理在于强类型允许编译器在编译时检测错误.我们能越早检测和修复错误,付出的代价越小.Javascript是一门弱类型的语言,所以Javascript编译器不能检 ...
- js语言精粹读书笔记一
一.语法 1.
随机推荐
- 菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章
菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章 cheungmine, 2014-10-26 在上一章中,我们准备好了计算机和软件.本章开始部署hadoop 高可用集群. 2 部署 ...
- OpenGL Shader Key Points (3)
Shader和Program Program Link过后,Shader就可以从Program中Detach并删掉.这样是不是可以节省一点点显存呢? 链接到同一个program的vertex和frag ...
- SharePoint 调查添加图片支持
前言:今天,碰到一个有趣的问题,就是SharePoint调查里面,添加对于图片的支持,众所周知,SharePoint的调查就支持那么几种字段类型的问题,当然,我们可以开发实现,不过,这个不是我们今天介 ...
- javascript访问html元素的内容(1)
形如如下格式的html元素: <p id="my_p">I'm <strong>BIG</strong> panda!!!</p> ...
- 抛开rails使用ActiveRecord连接数据库
今天是大年三十,明天就正式进入羊年鸟,给所有程序猿(媛)同人拜个年吧!祝大家身体健康,事业有成,财源广进哦! 话归正题,以前都是在rails中使用数据库,或者在rails的console中使用:我们如 ...
- Java不走弯路教程(5.Client-Server模式(2)-Client)
5.Client-Server模式(2)-Client 在上一章,我们完成一个简单的数据库服务器,并在客户端用telnet方式成功进行通信. 本章将用Java实现客户端程序,来代替telnet. 先看 ...
- 深入浅出理解python 装饰器
之前就了解到了装饰器, 但是就会点皮毛, 而且对其调用方式感到迷茫,正好现在的项目我想优化,就想到了用装饰器, 因此深入研究了下装饰器.先看下代码: import time # 将函数作为参数传入到此 ...
- Python__flask初识
1. debug:在app.run()里面加上app.run(debug=True), 在浏览器中调试的时候可以直接显示出错误. 2. 在url中传递参数,可以这样 @app.route('/ch ...
- sql语言不经常用,复习
sql语言不经常用,每次再用都隔好久的时间,以致最基本的都想不起来了,只好转一篇记着= - 找的时候方便 SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) ...
- SQL 逻辑优化 case when 转为 union all
通常数据库的优化从硬件层面去考虑可分为4个方面: CPU:即降低计算复杂度,如减少sql各类聚合函数,窗口函数,case when等. IO :(较少查询结果集过程中对数据的访问量.数据优化很大程度从 ...