js函数声明提升

简介: js函数声明提升

函数声明提升


  • 1.变量只提升声明,不提升赋值


  • 2.函数表达式不提升赋值


  • 3.函数声明提升


  • 顺序:形参 变量 函数


//定义函数
function demo(num){
  console.log(111,num)  //111 f num(){  console.log(1111) }
  //定义变量
  var num = 20;
  console.log(222,num)  ///222 20
  //声明一个函数
  function num(){
    console.log(111)
  }
  console.log(333,num)  ///333 20
}
//执行函数
ickt(10);


首先,形参提升(形成AO属性),变量提升(提升声明,不提升赋值,第一个打印后被变量赋值,所以第二个第三个都打印20),函数提升(num被覆盖,所以第一个打印的是个函数)

相关文章
|
6月前
|
JavaScript 前端开发 开发者
JavaScript的变量提升是一种编译阶段的行为,它将`var`声明的变量和函数声明移至作用域顶部。
【6月更文挑战第27天】JavaScript的变量提升是一种编译阶段的行为,它将`var`声明的变量和函数声明移至作用域顶部。变量默认值为`undefined`,函数则整体提升。`let`和`const`不在提升范围内,存在暂时性死区。现代实践推荐明确声明位置以减少误解。
49 2
|
6月前
|
JavaScript 前端开发
JavaScript中的变量提升(Hoisting)将`var`声明和函数声明提前到作用域顶部,允许在声明前使用
【6月更文挑战第25天】JavaScript中的变量提升(Hoisting)将`var`声明和函数声明提前到作用域顶部,允许在声明前使用。`let`和`const`不完全提升,存在暂时性死区(TDZ),尝试在初始化前访问会出错。函数声明会被提升,但函数表达式不会。
53 3
|
前端开发 JavaScript Serverless
前端祖传三件套JavaScript的函数之函数声明
JavaScript是一种广泛应用于Web开发的脚本语言,其基本的语法结构由变量、运算符、表达式和控制流程语句等组成。而在JavaScript中,函数则被视为一种特殊的对象类型,它可以被定义、赋值、传递、调用等,是实现各种功能和业务逻辑的重要手段之一。在这篇文章中,我们将介绍JavaScript中的函数声明,以及其使用方法和注意事项。
79 0
|
前端开发 JavaScript
悟透前端:加深Javascript变量函数声明提升理解
Javascript变量函数声明提升(Hoisting)是在 Javascript 中执行上下文工作方式的一种认识(也可以说是一种预编译),从字面意义上看,“变量提升”意味着变量和函数的声明会在物理层面移动到代码的最前面,在代码里的位置是不会动的,而是在编译阶段被放入内存中会和代码顺序不一样。
109 0
悟透前端:加深Javascript变量函数声明提升理解
|
前端开发 JavaScript 编译器
Javascript 函数声明和函数表达式的区别
Javascript Function无处不在,而且功能强大!通过Javascript函数可以让JS具有面向对象的一些特征,实现封装、继承等,也可以让代码得到复用。但事物都有两面性,Javascript函数有的时候也比较“任性”,你如果不了解它的“性情”,它很可能给你制造出一些意想不到的麻烦(bugs)出来。
2683 0
|
Web App开发 JavaScript 前端开发
JavaScript 中对变量和函数声明提前的示例
如题所示,看下面的示例(可以使用Chrome浏览器,然后F12/或者右键,审查元素.调出开发者工具,进入控制台console输入)(使用技巧: 控制台输入时Shift+Enter可以中途代码换行)var name = "xiaoming"; (function(){ var name = name || "小张"; console.
671 0
|
1月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
30 1
JavaScript中的原型 保姆级文章一文搞懂