变量和函数提升(js的问题)

简介: 变量和函数提升(js的问题)

       • js解释执行

       • 变量和函数提升

变量声明提前,函数声明提前

      • 变量声明提前:值停留在本地

       • 函数声明提前:整个函数体提前

如果是var赋值声明的函数,变量提前,函数体停留在本地

1、变量提升

未声明使用会报错

console.log(a); // Error: a is not defined

var会变量提升

console.log(a);  // undefined
var a = 10;

let定义不会提升

console.log(a);  // Error: Cannot access 'a' before initialization
let a = 10;

2、函数提升

console.log(func);  // func(){}
function func(){}
console.log(foo);  // undefined
var foo = function func(){}
console.log(func);  // Error: func is not defined
var foo = function func(){}
相关文章
|
3天前
|
JavaScript 前端开发
js变量的作用域、作用域链、数据类型和转换应用案例
【4月更文挑战第27天】JavaScript 中变量有全局和局部作用域,全局变量在所有地方可访问,局部变量只限其定义的代码块。作用域链允许变量在当前块未定义时向上搜索父级作用域。语言支持多种数据类型,如字符串、数字、布尔值,可通过 `typeof` 检查类型。转换数据类型用 `parseInt` 或 `parseFloat`,将字符串转为数值。
9 1
|
1天前
|
JavaScript
变量和函数提升(js的问题)
变量和函数提升(js的问题)
|
2天前
|
存储 JavaScript 前端开发
每日一道javascript面试题(九)函数的参数可以和函数体中的变量重名吗
每日一道javascript面试题(九)函数的参数可以和函数体中的变量重名吗
|
2天前
|
JavaScript 前端开发
每日一道javascript面试题(七)你真的知道箭头函数吗
每日一道javascript面试题(七)你真的知道箭头函数吗
|
6天前
|
JavaScript 前端开发
js开发:请解释什么是ES6的Generator函数,以及它的用途。
ES6的Generator函数是暂停/恢复功能的特殊函数,利用yield返回多个值,适用于异步编程和流处理,解决了回调地狱问题。例如,一个简单的Generator函数可以这样表示: ```javascript function* generator() { yield 'Hello'; yield 'World'; } ``` 创建实例后,通过`.next()`逐次输出"Hello"和"World",展示其暂停和恢复的特性。
16 0
|
13天前
|
缓存 JavaScript 前端开发
js的入口函数,入口函数的作用
js的入口函数,入口函数的作用
15 4
|
18天前
|
JavaScript 前端开发
JS的入口函数,并讲解入口函数的作用
JS的入口函数,并讲解入口函数的作用
9 0
|
4月前
|
JavaScript 前端开发 程序员
如何像人类一样写JavaScript代码(包会)之函数参数和返回值
如何像人类一样写JavaScript代码(包会)之函数参数和返回值
119 1
|
10月前
|
JavaScript
js中函数的传递参数
js中函数的传递参数
91 0
|
10月前
|
JavaScript
js中函数的传递参数
js中函数的传递参数