Javascript权威指南看书笔记

第一章 词法结构

  • javascript区分大小写,而html不区分大小写

  • unicode转义序列是由/u为前缀加4位16进制数组成

  • 标识符必须以字母,下划线 _,美元符 $,开始

  • 分号:javascript中语句独占一行,通常可以省略语句之间的分号。

    例外:1. return,break,continue,后紧跟换行,javascript会在换行处补填分号。2. 双目运算符++,--,若想作为表达式后缀的话必须与表达式同一行。
    

第二章 类型,值和变量

  • javascript支持十进制和十六进制,因ECMAscript标准不支持八进制直接量,因此最好不要用以0为前缀的直接量

  • Math对象的属性:

        math.round(.6)   //=>1.0 四舍五入math.ceil(.6)   //=>1.0 向上去整math.floor(.6)   //=>0.0 向下去整
  • 算数运算中的特例

    • 溢出(overflow):数字运算结果超过了javascript所能表示的上限

    正数返回Infinity,负数返回-Infinity

    • 下溢(underflow):结果比javascript所能表示的最小数小,返回0,

    负数下溢会返回特殊的值’-0’

    • 被0整出返回Infinity或-Infinity,例外,0/0返回NaN

    • NaN:和任何值都不相等,包括自身

  • 判断isNaN()函数

        x!=x;  //仅当x为NaN,为true
  • 0和-0值除了作为除数外两个值是相等的

  • 二进制浮点数并不能精确表示类似于0.1的简单数字

        (.2-.1)==(.3-.2);  //=>>false
  • 字符串直接量:用单引号来界定字符串时,需格外小心英文中的所有个和缩写,需用(/)转义

    • Javascript和HTML带吗使用各自独立的引号风格

    • Javascript表达式使用单引号表示字符串

    • HTML事件处理属性时用双引号表示字符串

  • 属性:

        s.replace(“h”,”H”); //”hello”=>”Hello”s.toUpperCase( ); //”hello”=>”HELLO”
  • 字符串还可以当作只读数组,通过方括号访问

  • 布尔值:javascript的任意值都可以转化为布尔值

    False:undefined ; null ; 0 ; -0 ; NaN ;‘ ‘True: 所有其他值,包括所有对象,数组
    
  • Null是javascript的关键字,undefined是预定义的全局变量,“==”认为两者是相等的

  • 包装对象

        var s=”test”;S.len=4;Var t=s.len; //undefined
    在读取字符串,数字和布尔值的属性(或方法)时,表现得像对象一样。但试图给其属性赋值,则会忽略该操作:修改只发生在临时对象上,而临时对象并未继续保留下来
  • 原始值是不可改变的。(undefined,null,布尔值,数字,字符串)

  • 对象的值可通过对象属性来更改(数组,函数)

    • 两个对象包含相同的属性和值也不相等
  • Number()和parseFloat()区别

    • Number():只能用于十进制数转换,并且不能出现非法尾随字符

    • parseInt():会跳过任意数量的前导空格,并忽略后面的内容,第一个非空格字符是非法的数字直接量则返回NaN

  • 所有的对象转换为布尔值都是true

  • 尽管全局作用域编写代码时可以不写var语句,但声明局部变量时必须使用var语句

  • 声明提前:函数体内局部变量遮盖同名全局变量,函数体内的变量声明会提前至函数体顶部

  • 声明一个javascript全局变量时,实际上是定义了全局对象的一个属性

  • javascript中,所有柱子都是浮点型的,除法运算结果也是浮点型

第三章

  • “===”:当两操作数类型和值都相等。0===-0

  • “==”:若两操作数不是同一类型,会尝试进行类型转换

  • 加号运算符更偏爱字符串;比较运算符更偏爱数字,只有两个数都是字符串时才会进行字符串比较,若一个操作数是NaN,总返回false

  • 大多数情况下 a op= b;等价于a = a op b;当a包含具有副作用的表达式时不等价,eg:data[i++]*=2; data[i++]=data[i++]*2;

  • typeof(NaN)==”number”;

  • delete只能删除对象属性或数组元素,不像C++中用来删除整个对象

    • delete的操作数若不是左值,不进行操作返回true;若删除成功,返回true

Javascript权威指南看书笔记相关推荐

  1. 《JavaScript权威指南》学习笔记(一)

    跟着<JavaScript权威指南>整理的一些知识点和自己的小拓展.有不足之处请指正. 1.try catch 防止程序异常直接报错退出,而是能对异常进行一些处理,具体处理就在catch中 ...

  2. 《JavaScript权威指南》学习笔记 第二天 下好一盘大棋

    前段学习js的时候总是零零散散的,以至于很多东西都模棱两可.时间稍微一久,就容易忘记.最主要的原因是这些东西,原来学的时候就不是太懂,以至于和其他知识无法形成记忆链,所以孤零零的知识特别容易忘记.重温 ...

  3. JavaScript权威指南(原书第7版) 犀牛书

    第3章 语法结构 3.10.1 使用let和const声明 ES6后,变量通过let关键字声明 let i let sum 可以使用一条let语句声明多个变量 let i, sum 声明变量的同时,( ...

  4. 《JavaScript权威指南》学习笔记——Day2

    放假了,放自己一天的假,打了一天的游戏,也算圆满了.今天继续学习.不知道我离优秀的程序员还有多少路要走,每天一步一个脚印,终有一天可以完成自己的心愿和理想吧. 第4章 表达式和运算符 4.1 原始表达 ...

  5. 《JavaScript权威指南》读书笔记二

    P51 JavaScript中提供了专门的函数和方法用来做更精确的数字到字符串和字符串到数字的转换: 数字->字符串 toString() toString(n)  //n进制 toFixed( ...

  6. 《Javascript权威指南》学习笔记之十二:数组、多维数组和符合数组(哈希映射)...

    Array(数组)是JavaScript中较为复杂的数据类型,同Java.C#.VB等程序语言的数组相比.Javascript数组中的元素不必为同样的数据类型,能够在数组每一个元素上混合使用数字.日期 ...

  7. Javascript大犀牛看书笔记

    第二章 词法结构 javascript区分大小写,而html不区分大小写 unicode转义序列是由/u为前缀加4位16进制数组成 标识符必须以字母,下划线 _,美元符 $,开始 分号:javascr ...

  8. 你是怎么看完《JavaScript权威指南》《JavaScript高级程序设计》等这类厚书的?

    参考博客原址:https://www.cnblogs.com/tonykair/p/7502276.html 你是怎么看完<JavaScript权威指南><JavaScript高级程 ...

  9. Javascript权威指南学习笔记一:数据类型

    决定从最基础的开始学JavaScript,最近看了<<Javascript权威指南>>第3章,记些笔记备忘. 本章一个重点是类型.按我的理解应该如下表所示: 复合类型中,关联数 ...

最新文章

  1. exim远程命令执行漏洞分析(cve-2019-10149)
  2. 网络推广外包专员浅析网络推广外包中网站转化率的发展意义
  3. Spring4 MVC json问题(406 Not Acceptable)
  4. Oracle编程入门经典 第3章 建立以及管理用户和表
  5. vue_ajax插件Axios
  6. 腾讯 VS 阿里 VS 携程消息中间件设计方案及思路
  7. Spring源码之ApplicationContext(三)加载BeanFactory
  8. coreos_CoreOS简介
  9. Ext applyTo和renderTo的区别和用法
  10. 学习windows编程 day3 之 自定义画笔的两种方法
  11. vba实现简单的数据排序和颜色统计
  12. random.sample函数
  13. 小胖子日记之扯淡的生活2
  14. VIM的初学配置文件
  15. 全球60个线上学习资源网站分享!
  16. Keras Input Layer
  17. 经济类英文期刊排行榜
  18. RDD:基于内存的集群计算容错抽象(转)
  19. vulnhub--Thoth Tech: 1
  20. 完美解决Word、Excel、PPT加密解密的方法

热门文章

  1. 【Android自动化测试】Robot Framework+adb框架(五)——L1层测试用例
  2. textarea的高度自适应
  3. 东小店南少:做项目就是但行好事,莫问前程,是诸成功。
  4. linux系统时间慢解决方案
  5. 史上最污技术解读,60 个 IT 术语你能懂多少.
  6. CESM2.2_CLM5.0 (fake)single point(伪)单点模拟√
  7. 数据分析之numpy篇
  8. POJ 1798 Dory's Phonebook 未完成
  9. ValueError: tf.function-decorated function tried to create variables on non-first call的解决方式
  10. android新增语言的方法(墨西哥的西班牙语)