一、介绍

1.包含:核心、文档对象模型、浏览器对象模型

二、HTML中的JavaScript

1.<script>元素

将JavaScript插入HTML的主要方法是使用<script>元素 ,script有8个属性。

注:在<script>元素中的代码被计算完成之前,页面的其余内容不会被加载,也不会被显示

使用方式:

(1)直接在网页中嵌入JavaScript代码

(2)用src属性引用外部文件

2.标签位置:将所有JavaScript引用放在<body>元素中的页面内容后面(原因:在处理JavaScript代码之前完全渲染页面。用户会感觉页面加载更快了)。传统的,放在<head>里,也就意味着必须把所有JavaScript代码都下载、解析和解释完成后,才能开始渲染页面。

(1)设置defer属性:它将会延迟到整个页面都解析完毕后再运行,但仅适用于引用外部脚本文件

(2)异步执行脚本(async属性)脚本将可能不会按照它们出现的次序执行。

(3)XHTML:XHTML中编写代码的规则比HTML中严格。

需要避免语法错误:

①<都替换成对应的HTML实体形式&lt;

②把所有代码都包含到一个CDATA块中,其内容不作为标签来解析。

(4)<noscript>元素:,被用于给不支持JavaScript的浏览器提供替代内容

JavaScript代码如果分散到很多HTML页面,会导致维护困难。而用一个目录保存所有JavaScript文件,则更容易维护。

三、语法

1.在脚本开头加上      预处理。

2.var声明作用域

(1)

使用var操作符定义的变量会成为包含它的函数的局部变量。

在函数内定义变量时省略var操作符,可创建一个全局变量。

(2)使用Var关键字声明的变量会自动提升到函数作用域顶部:

3.let与Var的区别:

(1)let声明的范围是块作用域,而var声明的范围是函数作用域。

(2)let也不允许同一个块作用域中出现冗余声明,而var允许。

(3)let声明的变量不会在作用域中被提升,而var会。

(4)let在全局作用域中声明的变量不会成为window对象的属性,var则会。

(5)for循环中 var定义的迭代变量i会渗透到循环体外部,而let则不会。

(6)使用let声明迭代变量(迭代变量会自增)时,JavaScript引擎在后台会为每个迭代循环声明一个新的迭代变量

 

4.const声明

const的行为与let基本相同,主要的区别是用它声明变量时必须同时初始化变量,且不能修改Const声明的变量(对象除外)

总结:不使用var,const优先,let次之

1.数据类型

使用typeof操作符,将返回Undefined、Null、Boolean、Number、String和Symbol字符串之一。

string类型:字符串可以使用双引号(")、单引号(')或反引号(`)

转换为字符串:

2.操作符

一元加:对数值没有任何影响;应用到非数值,会类型转换。

一元减:用于把数值变成负值

(2)与或非、左移什么的,学过计组的都知道,easy,省略....。

(3)函数:函数使用function关键字声明,后跟一组参数,然后是函数体

四、

(1)复制:原始值是再创建一个变量‘而引用值(new的)是直复制指针,属于同一个。

(2)上下文:每个上下文都有一个关联的变量对象,上下文中定义的所有变量和函数都存在于这个对象上。上下文在其所有代码都执行完毕后会被销毁,包括定义在它上面的所有变量和函数(全局上下文在应用程序退出前才会被销毁,比如关闭网页或退出浏览器)。每个函数调用都有自己的上下文。当代码执行流进入函数时,函数的上下文被推到一个上下文栈上。在函数执行完之后,上下文栈会弹出该函数上下文,将控制权返还给之前的执行上下文

(3)日期:创建日期对象,就使用new操作符来调用Date构造

Date.parse():接收一个表示日期的字符串参数

Date.UTC():返回日期的毫秒表示

(4)RegExp:正规表达式

(5)eval():当解释器发现eval()调用时,会将参数解释为实际的ECMAScript语句

通过eval()定义的任何变量和函数都不会被提升

(6)URL编码方法:

encodeURI()和encodeURIComponent()方法用于编码统一资源标识符(URI),以便传给浏览器

(7)window对象,所有全局作用域中声明的变量和函数都变成是window的属性

(8)Math对象属性:作为保存数学公式、信息和计算的地方。Math对象提供了一些辅助计算的属性和方法

JavaScript高级程序设计(第4版)学习笔记相关推荐

  1. JavaScript高级程序设计第四版学习--第二十四章

    title: JavaScript高级程序设计第四版学习–第二十四章 date: 2021-5-31 10:46:01 author: Xilong88 tags: JavaScript 本章内容: ...

  2. JavaScript高级程序设计红宝书学习笔记第三章基本概念

    第三章 基本概念 本章内容 语法 数据类型 操作符 语句 函数 3.1 语法 3.1.1 区分大小写,ECMAScript中的一切(变量.函数名和操作符)都区分大小写. 3.1.2 标识符 标识符:变 ...

  3. javascript 高级程序设计(第4版)阅读笔记(三)

    第3章,内容很长,所以更得慢,主要讲的是ECMAScript   es的语言基础:语法.数据类型.基本操作符.流控制语句.理解函数,ECMAScript 的语法很大程度上借鉴了 C 语言和其他类 C  ...

  4. 阅读JavaScript高级程序设计(第二版)笔记

    第一章js简介 JavaScript诞生在1995年,当时负责进行输入型验证. JavaScript是一种专为与网页交互而设计的脚本语言,分为 : 1. ECMAScript核心语言功能. 2.文档对 ...

  5. JavaScript高级程序设计第三版.CHM【带实例】

    从驱动全球商业.贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当今世界上最流行的编程语言一点儿都不为过. JavaScript 是一种非常松散的面向对象语言,也是 ...

  6. JavaScript高级程序设计[第3版]

    JavaScript高级程序设计[第3版] package xyz.huning.toolkit.pdf;import java.io.FileOutputStream; import java.io ...

  7. Js高级程序设计第三版学习(十二章)

                                  Js高级程序设计第三版学习(十二章) 第十二章 DOM2和DOM3   1.样式: 访问样式属性 任何支持style特性的HTML元素都有一 ...

  8. JavaScript高级程序设计 第4版----String

    JavaScript高级程序设计 第4版----String 文章目录 JavaScript高级程序设计 第4版----String 1.JavaScript 字符 2.字符串操作方法 1.conca ...

  9. 《JavaScript高级程序设计 第3版》-学习笔记-1

    P1-P30页 1.<script>标签的属性 async:async(html)  | async="async"(xhtml),表示立即下载脚本,但不马上执行(执行 ...

  10. 新书-JavaScript高级程序设计:第2版(预订中,估价)

    http://www.china-pub.com/196857 JavaScript的应用在广度和深度上日益扩大和加深,前端开发亟待掌握的JavaScript技能也越来越具有挑战性. 这个新版本几乎全 ...

最新文章

  1. iOS ASIHttpRequest 封装
  2. 微框架spark--api开发利器
  3. keepalived 安装和配置
  4. 20款Notepad++插件下载和介绍
  5. 1-1 顺序表操作集 (20 分)
  6. 怀揣Windows 10沙盒,放心“作死”
  7. android获取截屏图片大小,【Android】android获取长图截屏(显示之外的也要)
  8. Python实现远程控制桌面功能(不使用微信等任何接口),并在不同局域网下控制(已更新)
  9. php 实现人脸识别功能
  10. 作业 - 加密解密和CA
  11. 解决IntelliJ IDEA Properties中Unused property提示
  12. 组织的目的是使平凡的人做出不平凡的事 --- 彼得.德鲁克 《卓有成效的管理者》
  13. 安装MS15-034漏洞补丁KB3042553失败
  14. 推荐关于PX4 ECL EKF方程推导的两篇“宝藏“文章
  15. 人工智能入门学习笔记(一)
  16. 基于KEIL 的合并boot.binapp.bin的脚本文件
  17. 【区块链与密码学】第9-1讲:白话群签名
  18. 2017毕设论文小结
  19. 2022-01-26 Android app java 获取设备制造商的方法:Build.MANUFACTURER,实际上是读ro.product.manufacturer的值。
  20. CVPR2022-图像恢复重建Restormer论文解读

热门文章

  1. 专业技术人员计算机应用能力考试模拟,我国专业技术人员计算机应用能力考试全真模拟考试系统...
  2. java returning_JAVA中使用PostgreSQL的RETURNING语句来实现插入时快速获取insert id
  3. 微信小程序嵌套h5页面怎么实现小程序支付
  4. python比其他语言好在哪里_Python为啥这么牛?跟其他语言相比究竟有什么优势?...
  5. 每日安全资讯(2022-12-02)
  6. spyder python教程_spyder (python3.7)教程(python spyder怎么用)
  7. python龙虎榜数据_【爬虫】使用爬虫技术获取盘后龙虎榜
  8. 几何问题。点线向量面积等模版。
  9. 1161 Merging Linked Lists
  10. 共享停车位小程序,微信小程序停车场车位,微信小程序停车场系统毕设作品