欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript高级程序设计第三版-读书笔记1

程序员文章站 2022-07-12 18:16:23
...

这是我第一次用markdown,也是我第一次在网上记录我自己的学习过程。

第一章#

JavaScript主要由以下三个不同的部分构成
  • ECMAScript  提供核心语言功能
  • DOM     提供访问和操作网页内容的方法和接口
  • BOM     浏览器对象模型,提供浏览器交互的方法和接口

第二章

  • 关于<script>加了空格是否算报错
    <script ></script> //这样是错的,第一个<script>多了一个空格
    <scripT></Script>//这样是没有错的,但是我们还是按照规范写比较好
  • <noscript>当script不允许被执行时才会被显示出来
  • 延迟脚本<script defer="defer" src="example.js"></script>中的加入defer的作用之后,包含的脚本将会-1.立即下载-2.在</html>之后执行。
  • 异步脚本<script async src="example.js"></script>,加入async的作用是告诉浏览器立即下载文件,在页面的load事件前执行。

第三章

  • 关于标识符
    第一个字符必须是

    • 一个字母
    • 下划线(_)
    • 一个美元符号($) ------------这一点也许相对特殊
  • ECMASCRIPT的变量是松散类型的

    • 换句话说,每个变量仅仅是一个用于保存的占位符而已,它不像C++,每一个值有确定的类型
  • 用var操作符定义的变量将会成为定义该作用域中的局部变量
    function test(){var a=1;alert(a);}
    test();//输出1
    alert(a);//错误!!!!!

     function  test2(){a=1;alert(a);}
       test();//输出1
       alert(a);//输出1
    

上面若是不用var定义,则创建了一个全局变量a。
虽然省略var操作符可以定义全局变量,但不推荐这样的做法

  • 在严格模式下,不能定义eval或者arguments的变量,否则会导致语法错误
  • 数据类型:有5种简单数据类型(基本数据类型)
    • Undefined(表示该值未定义)
    • Null
    • Boolean
    • String
    • Number
          还有1种复杂数据类型:
    • Object