3.1-3.5
3.1 数字
3.1首先声明了在JS中的数字是不区分整数值和浮点数值的。其次给出了js浮点类型表示的范围:最大值是±1.7976931348623157×10^308,最小值±5×10^-324,以及其整数范围:-2×10^53到2×10^53,包含边界值。(不知道会不会用到,姑且记下来)。
  一个数字直接出现在js程序中,称其为数字直接量。
  3.1.1
对于整数型直接量,JS支持是十进制与十六进制的,十六进制以“0x”或者“0X”为前缀,比如“0xff”。但是JS的ECMAScript标准并不支持八进制,但是某些版本的JS支持八进制直接量以数字0开始,其后跟随一个0-7之间的数字组成的序列(如0377)。所以日常编程中不提倡使用以数字0为前缀的整形直接量。
  3.1.2
  对于浮点型直接量,JS中的书写习惯与日常一样,整数部分+小数点+小数部分。特别多js支持指数标记法(科学计数法),如6.02e23(6.02×10^23)或者6.04E-22
  3.1.3
  在js的算数运算中,上溢(overflow)用Infinity(无穷大)表示,下溢(underflow)则会返回0(负数下溢时会返回-0)。当一个非零的数被零整出的时候怎会返回Infinity或者-Infinity。特殊的当0被0整除的时候则会返回一个NaN,表示非数字值;当无穷大除以无穷大,给负数开平方,算数运算符(+-×/%)与任何不是数字或者无法转换为数字的操作数一起运算的时候都会返回NaN。JS预定义了全集变量Infinity和NaN,在ECMAScript 5以后,这两个变量都是只读的。特别的NaN与自身是不相等的,即NaN!=NaN。-0==0.
  3.1.4
另外,因为计算机采用的是二进制计算,与日常生活中的十进制计算存在误差,在精度要求很高的情况下会出现一些偏差,所以在能使用整数的情况下尽量不要使用小数。
  3.1.5
Js提供Date()函数操作日期。

  3.2文本

  文本概念有待理解,时间关系不做笔记。

  3.2.1

  JS中的字符串直接量用双引号或者单引号括起来,单引号的界定可以包含双引号,同理双引号的界定可以包含单引号。ECMAScript 5中支持单个字符串直接量多行书写,但是每行必须以反斜线(\)结束,如:

          “one\

          long\

          line"

  当JS与HTML代码夹杂在一起的时候,提倡使用各自独立的引号风格,比如JS用双引号HTML用单引号。

  3.2.2

  js提供一些特殊的转义字符,比如\‘单引号 \"双引号。

  3.2.3

  JS提供很多字符串操作功能,如字符串拼接、length、substring等用法。

  3.2.4

  JS支持正则表达式(RegExp),知识点有待深入。

  3.3布尔值

  在JS中,undefined、null、0、-0、NaN、""被称为“假值”,这六个值会被转换成false;而所有其他值被称为“真值”,包括所有的对象(数组),都会被转换成true。经常地,在使用if(o){}语句的时候,只要o不是false或者任意“假值”,if中的语句就可以执行。

  布尔值包含toString()方法,可以转换成"true"或者“false”字符串。

  JS也的布尔值也使用&&、||、! 三个逻辑操作符。

  3.4 null与undefined

  null是JS的一个关键字,是一个表示“空值”的特殊值。undefined则是系统预定义的全局变量,它的值就是“未定义”。

  通常情况下,可以理解undefined为一个系统级的、出乎意料的或者类似于错误的 值的空缺;null则是一个程序级的、正常的和意料之中的 值的空缺。如果在编程中需要使用,最佳选择是null。个人理解可以用高中数学的集合知识来理解null跟undefined的区别:null类似于空集,表示没有任何元素的集合;undefined则是一个根本不存在的集合。

  另外的,虽然null与undefined是不相同的,但是他们都表示“值的空缺”,很多情况下可以互换。“==”运算符认为他们是相等的,如果要区分他们则需要使用“===”运算符。

null和undefined都不含有任何属性和方法,使用“.”和"[]"存取他们的成员或方法的时候都会产生一个类型错误。

  以下几种情况会得到一个undefined:

  1、查询一个根本不存在的对象属性或者数组元素

  2、函数没有给返回值,默认返回undefined

  3、引用没有提供实参的函数形参的值(?)

  undefined在ECMAScript 5中为只读的。使用typeof来获取undefined的类型会返回“undefined”,表明了这个值是这个类型的唯一成员

  3.5全局对象(global object)

  全局对象的属性是全局定义的符号,JavaScript程序可以直接使用。

  在代码的最顶级——不在函数内的js代码中——可以使用JS的关键字this来引用全局对象

  

  

  

《javascript权威指南》阅读笔记 1的更多相关文章

  1. C++ Primer 第四版阅读笔记

    阅读笔记 初始化 变量定义指定了变量的类型和标识符,也可以为对象提供初始值.定义时指定了初始值的对象被称为是 已初始化的.C++ 支持两种初始化变量的形式:复制初始化和 直接初始化.复制初始化语法用等 ...

  2. 《C#编程宝典:十年典藏版》阅读笔记(1)

    1.运行时错误,使用Checked块语句进行异常检查与抛出异常. 2.值类型使用线程堆栈保存数据,数据大小大概为1M左右,引用类型使用托管堆保存数据,可以无限分配空间,因为有一个GC垃圾回收机制存在, ...

  3. <C++Primer>第四版 阅读笔记 第四部分 “面向对象编程与泛型编程”

    继承和动态绑定与数据抽象一起成为面向对象编程的基础. 模板使我们能够编写独立于具体类型的泛型类和泛型函数. 第15章 面向对象编程 面向对象编程基于三个基本概念:数据抽象.继承和动态绑定.在C++中, ...

  4. C#高级编程第9版 阅读笔记(一)

    一.前言 C# 简洁.类型安全的面向对象的语言. .NET是一种在windows平台上编程的架构——一种API. C#是一种从头开始设计的用于.NET的语言,他可以利用.NET Framework及其 ...

  5. JavaScript 权威指南第6版 - [阅读笔记]

    JavaScript 基础   Page 13 (1)<script> 的属性:async,charset,defer='defer',language已废,src,type   (2)n ...

  6. <C++Primer>第四版 阅读笔记 第一部分 “基本语言”

    之前阅读时没有及时总结,现在慢慢补上. 第1章 快速入门 main 函数在很多方面都比较特别,其中最重要的是每个C++程序必须含有 main 函数,且 main 函数是(唯一)被操作系统显示调用的函数 ...

  7. <C++Primer>第四版 阅读笔记 第三部分 “类和数据抽象”

    类定义了数据成员和函数成员:数据成员用于存储与该类类型的对象相关联的状态:而函数成员则负责执行赋予数据意义的操作. 第12章 类 一个类可以包含若干公有的.私有的和受保护的部分:在public部分定义 ...

  8. 《JavaScript权威指南》第六版阅读笔记(二):JavaScript词法结构

    JavaScript使用Unicode字符集.ECMAScript3要求JS的实现必须支持Unicode 2.1及后续版本,ECMAScript 5要求JS的实现支持Unicode 3及后续版本. J ...

  9. C++ primer 中文第三版 阅读笔记 第八章

    一.寄存器对象: 函数中频繁被使用的变量可以加上register就可声明为寄存器对象.对于寄存器对象,假如能够放到寄存器中就会放到寄存器中,放不到的话就放到内存中.比如 register int  a ...

  10. 鸟哥的LINUX私房菜基础篇第三版 阅读笔记 四 档案的文件系统的压缩和打包

    1.压缩文件案的用途与技术     a.用途,简单来说,就是节约磁盘空间.如果从传输角度讲,占用宽带也会小很多(Apache就有自动压缩的功能,节省宽带资源,提升网站的输出能力)     b.压缩技术 ...

随机推荐

  1. codeforces 22C System Administrator(构造水题)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud System Administrator Bob got a job as a s ...

  2. Random获得的随机数怎么样减少重复率

    C#中的Random在获得随机数的时,如果你想要随机循环取得100个随机数则使用如下代码会出现大量的重复数字.代码如下: using System; namespace ConsoleApplicat ...

  3. Object-c学习之路十(NSNumber&NSValue)

    // // main.m // NSNumberAndNSValue // // Created by WildCat on 13-7-26. // Copyright (c) 2013年 wildc ...

  4. Android SDK 更新时修改hosts文件仍然无法更新,可试试这个方法……

    Android SDK 更新时修改hosts文件仍然无法更新,此时必定万分蛋疼.在hosts文件中更换了各种ip,仍然解决不了!!!!!!!!!!!!!!? 第一步: 打开此软件,等待服务器连接 第二 ...

  5. CentOS 安装redis2.8.13 提醒"libc.so.6: version `GLIBC_2.14' not found"系统的glibc版本太低

    以下在系统CentOS 6.3 x86_64上操作 1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的gli ...

  6. PHP 中 const define 的区别

    在php中定义常量时,可用到const与define这两种方法,那他们到底有什么区别呢? 1.const用于类成员变量的定义,一经定义,不可修改.define不可用于类成员变量的定义,可用于全局常量. ...

  7. nginx之依据IP做限制

    环境如下: [root@localhost ~]# cat /etc/issueCentOS release 6.5 (Final)Kernel \r on an \m[root@localhost ...

  8. bootstrap的datetimepicker控件只选择年月的配置

    <script src="{% static "jquery/jquery-1.11.3.min.js" %}"></script> & ...

  9. iptables中规则的关系——以只允许某些IP段访问为例

    最近遇到一个问题:服务器被全球的IP频繁试图通过ssh登录. 于是想到通过iptables防火墙限制访问,达到:仅允许指定ip段访问ssh服务(22端口). 关于iptables添加规则的文章有很多, ...

  10. Java所有编码问题参考手册

     一.编码基本知识 1.iso8859-1 ——属于单字节编码,最多能表示的字符范围是 0-255,应用于英文系列.比如,字母 'a' 的编码为0x61=97. 很明显,iso8859-1 编码表示的 ...