JAVAscript高级编程(第四版)读书笔记

JAVAscript 第四版笔记

概述

JavaScript是一门用来与网页交互的脚本语言,包含以下三个组成部分。

  1. ECMAScript: 由 ECMA-262定义并提供核心功能。 (发音为“ek-ma-script”)
  2. 文档对象模型(DOM): 提供与网页内容交互的方法和接口。
  3. 浏览器对象模型(BOM): 提供与浏览器交互的方法和接口。

JavaScript的这三个部分得到了五大 Web浏览器(IE、Firefox、Chrome、Safari和 Opera)不同程度的支持。所有浏览器基本上对 ES5(ECMAScript 5)提供了完善的支持,而对 ES6(ECMAScript 6)和 ES7(ECMAScript 7)的支持度也在不断提升。这些浏览器对DOM的支持各不相同,但对 Level 3的支 持日益趋于规范。HTML5 中收录的 BOM 会因浏览器而异,不过开发者仍然可以假定存在很大一部分 公共特性。

< script >元素

在这里插入图片描述

type

MIME类型
默认text/javascript
。如果这个值是 module,则代 码会被当成 ES6模块,而且只有这时候代码中才能出现 import 和 export 关键字。

图片详细说明defer async module等区别
module类似于defer异步,并行加载,等html执行完再执行
module async异步加载,加载完立刻执行

在这里插入图片描述

crossorigin:

set CORS(跨源资源共享)
Orign:
1 protocol 2 domain 3 port
设置 凭据模式credentiais mode
(默认或者为空)值为ananymous表示不包含凭据(凭据cookie)
use-credentiais包含凭据(cookie、TSL证书、http认证信息,用来在服务端验证用户身份)

integrity:

可选.验证子资源完整性, 确保内容分发网络(CDN,Content Delivery Network)不会提 供恶意内容。

由连字符分割的两段字符串,分别是算法(如sha384)- 散列码(类似S5校验)

defer:

可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。 在 IE7及更早的版本中,对行内脚本也可以指定这个属性。

变量

在这里插入图片描述

作用域提升

var

function内变量var是局部变量,外部没法调用(这很正常,也很常见)
但是function内不使用var 则会变成全局,且可以用window使用
function(){
msg = ‘abv’
}
函数外部
msg
window.msg都可以用

var:重复声明不会报错(后声明的会覆盖前面声明的),全局声明的变量可以成为window对象的属性

let

块级作用域
if (true){
var tit = ‘123’
}
在var里是全局变量,在let里则不是全局变量,而仅仅在{}中括号中存在
没有提升域,有TDZ(Temporal Dead Zone)
不能重复声明
全局声明不是window变量 (是该页面的全局变量)

const

声明时要初始化,不能修改
不能用于声明会自增的迭代变量
for(const i=0; i<5; i++)不可以
(for …of for …in可以)
for(const key in (a:1, b:2) ){}
for(const key of ‘abcde’){}
两种就可以

如果常量是一个对象
const obj = {a:1}
但是我们可以修改它的属性 obj.b = 2
obj变成(a:1, b:2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值