《javascript权威指南》阅读笔记 1

时间:2022-08-28 08:25:33

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. Javascript权威指南阅读笔记--第3章类型、值和变量(1)

    之前一直有个想法,好好读完JS权威指南,便于自己对于JS有个较为全面的了解.毕竟本人非计算机专业出生,虽然做着相关行业的工作,但总觉得对于基础的掌握并没有相关专业学者扎实,正好因为辞职待业等原因,还是 ...

  2. JavaScript权威指南阅读笔记3

    第六章 对象 1.首先是先介绍了对象直接量的格式:对象直接量就是1.由若干个名/值对组成的映射表,2名/值对中间由冒号分割,3名值对之间由逗号分割,4整个映射表由花括号括起来.这样就组成了一个对象直接 ...

  3. JavaScript权威指南学习笔记6

    这两天主要翻看了书中的第18-22章,重点看了第17章:事件化处理,其它几章节主要是翻了下书知道有相关的概念,没有真正理解其中的内容,或者没有考虑究竟如何能把里面的内容应用到实际的项目中.说的讽刺一点 ...

  4. Kafka 权威指南阅读笔记(第三章,第四章)

    Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks ...

  5. mycat权威指南阅读笔记--序言1

    前言 mycat官方地址http://www.mycat.io/,mycat是关系数据库的中间件,也就是说它可以把后端的多个数据库,抽象成一个关系数据库. mycat能干啥 官方文档介绍,主要是用来做 ...

  6. Javascript权威指南学习笔记

    第二章:词法结构 ;function a(){alert(2)};//前面的分号保证正确地语句解析 第三章:类型.值和变量 基本概念: 1.数据类型---能够表示并操作的值的类型叫做数据类型. 2.变 ...

  7. JavaScript权威指南读书笔记

    JavaScript 1.变量 变量是一个表示值的符号,是一个名字,他的本质是值: var x; //----声明一个变量: 值通过等号“=”赋给变量,x = 16; 对象是名/值对的集合,或字符串到 ...

  8. javascript权威指南学习笔记3

    今天看到第四章,记录一下其中的几个点,俗话说:好记性不如烂笔头嘛. 4.9   in运算符和instanceof运算符 in运算符希望它的左操作数是一个字符串或可以转化为字符串,希望它的右操作数是一个 ...

  9. javascript权威指南学习笔记2

    Javascript语言核心(2~12章) 第三章:类型.值.变量 1.数字: overflow(Infinity, -Infinity).underflow(+0,-0) 非数字值:它和任何值都不相 ...

  10. javascript权威指南学习笔记1

    打开这本书,进入到javascript的世界.以前都是看各种视频,感觉什么收获也没有,反而弄得脑袋混乱,希望能够按照这本书的节奏掌握javascript这门语言,为我的前端学习打下基础. 学习前准备: ...

随机推荐

  1. mysql Packet for query is too large (1185 > 1024)异常

    注:最近mysql一直提示如下错误 Packet for query is too large (1185 > 1024). You can change this value on the s ...

  2. API,框架,组件

    API 是什么,API 就是通过提供方便使用的接口来执行它实现的功能. 用一个手电筒来作比喻: 手电筒的按钮就是接口,按下按钮就是它的方便的使用方式,发光就是它的功能,在这里我们可以称这个手电筒是个 ...

  3. Balloons(山东省第一届ACM省赛)

    Balloons Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Both Saya and Kudo like balloons ...

  4. 与众不同 windows phone (46) - 8.0 通信: Socket, 其它

    [源码下载] 与众不同 windows phone (46) - 8.0 通信: Socket, 其它 作者:webabcd 介绍与众不同 windows phone 8.0 之 通信 Socket ...

  5. mysql触发器使用实例

    DELIMITER $$ USE `db`$$ DROP TRIGGER `member_walletinit_trigger`$$ CREATE TRIGGER `member_walletinit ...

  6. (转)用AGG实现高质量图形输出(二)

    本文上接<用AGG实现高质量图形输出(一)>,分别介绍了AGG显示流程中的各个环节. 上次讲了AGG的显示原理并举了一个简单的例子,这一篇文章开始讲AGG工作流程里的每个环节.为了方便对照 ...

  7. Node&period;js的安装

    学习一下JavaScript的另一个运行环境---Node.js Node.js是一个基于Chrome V8 引擎的 JavaScript 运行建立的平台, 用于方便地搭建响应速度快.易于扩展并且是全 ...

  8. 【Stage3D学习笔记续】真正的3D世界(四):空间大战雏形

    前面几个星期抽空用Starling做了一个打飞机的小游戏(所以没有接着看书了),准备面试时用的,结果面试还是没过%>_<%...这个游戏打算过几天全部开源了 那么接下来打算这周把<S ...

  9. Tomcat - java&period;lang&period;UnsupportedClassVersionError&colon;Unsupported major&period;minor version 51&period;0 &lpar;unable to load class com&period;microsoft&period;sqlserver&period;jdbc&period;SQLS

    今天使用Tomcat连接sql Server 2008 enterprise的时候,报错: HTTP Status 500 - Servlet execution threw an exception ...

  10. linux jdk 和tomcat环境变量配置

    系统版本:centos6.5版本 java版本:1.8 一.准备工作 1. java -version 检查是否有java环境,没有则需要去安装并配置到环境变量中. 2.下载tomcat包,下载地址: ...