網(wǎng)站首頁 編程語言 正文
1、變量提升
當(dāng)用var聲明變量的時(shí)候,存在將變量聲明提升到頂部的情況
console.log(a);
var a = '123';
console.log(a);
/* 打印
undefined
123
*/
上述代碼等同于
var a;
console.log(a);
a = '123';
console.log(a);
2、函數(shù)提升
函數(shù)聲明存在函數(shù)提升,如
function f() { ... }
函數(shù)表達(dá)式不存在函數(shù)提升,其中包括命名函數(shù)表達(dá)式和匿名函數(shù)表達(dá)式 如var f = function f() { ... }
var f = function () { ... }
注:通常函數(shù)表達(dá)式定義函數(shù),用匿名即可。
具體的函數(shù)提升分析如下:
console.log(f);
console.log(f());
function f() {
console.log('123');
}
/* 打印
1、f f() {console.log('123');}
2、123
*/
上述代碼等同于
function f() {
console.log('123');
}
console.log(f);
console.log(f());
3、優(yōu)先級(jí)關(guān)系
當(dāng)函數(shù)被同名變量聲明覆蓋時(shí),優(yōu)先考慮函數(shù)提升。
console.log(f);
console.log(f());
var f = '123';
function f() {
console.log('456');
}
var f = function () {
console.log('789');
}
console.log(f);
console.log(f())
var f = '10'
console.log(f);
console.log(f())
/* 打印
1、f f(){console.log('456');}
2、456
3、f (){console.log('789');}
4、789
5、10
6、Uncaught TypeError: f is not a function
*/
上述代碼等同于
function f() {
console.log('456');
}
var f;
console.log(f);
console.log(f());
f = '123';
f = function () {
console.log('789');
}
console.log(f);
console.log(f())
f = '10'
console.log(f);
console.log(f())
原文鏈接:https://blog.csdn.net/weixin_43275787/article/details/122111342
相關(guān)推薦
- 2022-09-21 Android開發(fā)兩個(gè)activity之間傳值示例詳解_Android
- 2022-12-07 C++?Boost?Bimap示例詳細(xì)講解_C 語言
- 2022-09-25 nginx平滑升級(jí)、nginx支持的kill信號(hào)
- 2022-05-03 詳解Python實(shí)現(xiàn)圖像分割增強(qiáng)的兩種方法_python
- 2022-11-02 python中l(wèi)ist列表刪除元素的四種方法實(shí)例_python
- 2023-01-03 一文帶你掌握Go語言中文件的寫入操作_Golang
- 2022-07-19 關(guān)于 Angular 注解 @Injectable() 使用的一些誤區(qū)
- 2022-09-21 python?paramiko連接ssh實(shí)現(xiàn)命令_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支