目录
前言
本篇笔记 JS 语言基础 第一篇。
主要包含内容为:
- script 标签的可选属性;
- var、let、const 三个变量声明关键字的作用、相同点和不同点。
一、scrpit 标签中的可选属性
1、async:可选。表示应该立即开始下载脚本,但不能阻止其他页面动作。只对外部脚本文件有效。
2、charset:可选。使用 src 属性指定的代码字符集。很少用,因为大多数浏览器不在乎这个值。
3、crossorigin:可选。配置相关请求的 CORS(跨资源共享) 设置。默认不使用。 ①crossorigin = “anonymous” 配置文件请求不必设置凭据标志。②crossorigin = “use-credentials” 设置凭据标志,表示出站请求会包含凭据。
4、defer:可选。表示在文档解析和显示完成后再执行脚本是没有问题的。只对外部脚本有效。
5、integrity:可选。允许比对接收到的资源和指定的加密签名以验证子资源完整性(SRI,Subresource Intergrity)。如果接收到的资源的签名与这个属性指定的签名不匹配,则页面会报错,脚本不会执行。这个属性可以用于确保内容分发网络(CDN,Content Delivery Network)不会提供恶意内容。
6、src:可选。表示包含要执行的代码的外部文件。
7、type:可选。表示代码块中脚本语言的内容类型(也称MIME类型)。按照惯例,这个值始终都是"text/javascript"。如果这个值是 module,则代码会被当成ES6模块,而且只有这时候代码中才能出现 import 和 export 关键字。
二、js 中的关键字和保留字
1. ECMA-262第6版中规定的关键字
break | do | in | typeof | case | else | instanceof | var |
---|---|---|---|---|---|---|---|
catch | export | new | void | class | extends | return | while |
const | finally | super | with | continue | for | switch | yield |
debugger | function | this | default | if | throw | delete | import |
try |
2. 保留词汇
始终保留 | 严格模式下保留 | 模块代码中保留 |
---|---|---|
enum | implement 、 package 、 public 、 interface | await |
protected 、 static 、 let 、 private |
三、变量
1、var关键字
var 只是定义了一个变量,它的值可以是任意的,即使在定义变量时初始化为某一类型,也可在后续操作中给它赋值为其他类型。例如:
var message = 'hello world!';
console.log(message); // hello world!
message = 333;
console.log(message); // 333
虽然上述操作是合法的,但是在实际过程中并不推荐这么做。
(1)var声明作用域
使用 var 定义的变量会成为包含它的函数的局部变量。再函数退出时会被销毁。
但是变量不使用操作符定义,则会成为全局变量。在函数退出时不会被销毁
function test() {
var message = 'hello world!';
// 局部变量,再函数退出时被销毁
}
test();
console.log(message);
// Uncaught ReferenceError: message is not defined
function test1() {
mes = 'hello world!'; // 全局变量,函数退出后依然存在