We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
我是页眉
正则匹配链接[]()语法上有局限性 , 如有疑虑可查看本文原文
[]()
参考内容
https://developer.mozilla.org/zh-CN/docs/Learn/Getting_started_with_the_web/JavaScript_basics
在 JavaScript 的历史上只有 var 这一个创建变量的方式 .
var
由于 var 存在已知的缺点 let 被引入了 .
let
对于 var 来说 JavaScript 变量可以先定义后声明 :
myName = "Chris"; function logName() { console.log(myName); } logName(); var myName;
这种现象叫做 提升 , 如果上述代码中的 var 换成 let 代码将不再生效 .
提升
这是一件好事——因为初始化后再声明一个变量会使代码变得混乱和难以理解。
对于 var 来说 , 同名变量可以多次声明
var myName = "Chris"; var myName = "Bob";
对于 let 上述不成立 , 你必须这样做 :
let myName = "Chris"; myName = "Bob";
同样,这是一个明智的语言决定。没有理由重新声明变量——这只会让事情变得更加混乱。
const : 常量是块级范围的,非常类似用 let 语句定义的变量。但常量的值是无法(通过重新赋值)改变的,也不能被重新声明。
与其他语言不通 , JavaScript 中你不需要声明变量的类型 .
let flag = 500; let flagType = typeof flag; console.log(flagType) /* number */ flag = "500"; flagType = typeof flag; console.log(flagType) /* string */
JavaScript 具有以下几种类型的变量
123
123.123
true
false
"string value one"
'string value two'
[1,2,3]
{ name: "Spot", breed: "Dalmatian" }
// Promise 对象表示异步操作最终的完成(或失败)以及其结果值。 // Promise 的几种状态 // Promise 只是整合了事件的触发流程 , 执行代码所在的线程和 调用者处于相同线程 , 耗时任务还是应该配合 Worker 共同完成 ┌─────────────┐ │ │ ┌────────► pending │ 待定(pending):初始状态,既没有被兑现,也没有被拒绝。 │ │ │ │ └─────────────┘ ┌──────┴────┐ │ │ │ Promise │ ┌───────────┐ │ │ ┌────────────────►│ fulfilled │已兑现(fulfilled):意味着操作成功完成。 └──────┬────┘ │ └───────────┘ │ ┌──────┴──────┐ │ │ │ 已敲定(settled)& 已解决(resolved) 含义相同 └────────►│ settled │ 已经被兑现或拒绝,即不再处于待定状态,那么则称之为已敲定(settled)。 │ │ 已解决(resolved)这个术语来描述 Promise——这意味着该 Promise 已经敲定 └──────┬──────┘ │ ┌──────────┐ └────────────────►│ rejected │已拒绝(rejected):意味着操作失败。 └──────────┘
45 15
80
30 20 1.5
我是页脚
The text was updated successfully, but these errors were encountered:
No branches or pull requests
我是页眉
参考内容
https://developer.mozilla.org/zh-CN/docs/Learn/Getting_started_with_the_web/JavaScript_basics
0x01. 创建变量 var / let 理解
在 JavaScript 的历史上只有
var
这一个创建变量的方式 .由于
var
存在已知的缺点let
被引入了 .对于
var
来说 JavaScript 变量可以先定义后声明 :这种现象叫做
提升
, 如果上述代码中的 var 换成 let 代码将不再生效 .这是一件好事——因为初始化后再声明一个变量会使代码变得混乱和难以理解。
对于
var
来说 , 同名变量可以多次声明对于
let
上述不成立 , 你必须这样做 :同样,这是一个明智的语言决定。没有理由重新声明变量——这只会让事情变得更加混乱。
1.1 const
const : 常量是块级范围的,非常类似用 let 语句定义的变量。但常量的值是无法(通过重新赋值)改变的,也不能被重新声明。
0x02. 变量类型
与其他语言不通 , JavaScript 中你不需要声明变量的类型 .
JavaScript 具有以下几种类型的变量
123
/123.123
true
/false
"string value one"
/'string value two'
[1,2,3]
/ ["one","two","three"]{ name: "Spot", breed: "Dalmatian" }
我们常用的 json0x03. 异步操作
Promise 理解 :
await 理解 :
但是如果 promise 被 reject,它将 throw 这个 error,就像在这一行有一个 throw 语句那样。
WebWorker
这样做的好处是可以在独立线程中执行费时的处理任务,使主线程(通常是 UI 线程)的运行不会被阻塞/放慢。
0x04. 事件冒泡
45
15
80
30
20
1.5
动态类型语言 VS 静态类型语言
我是页脚
The text was updated successfully, but these errors were encountered: