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被覆盖,所以第一个打印的是个函数)

相关文章
|
前端开发 JavaScript
悟透前端:加深Javascript变量函数声明提升理解
Javascript变量函数声明提升(Hoisting)是在 Javascript 中执行上下文工作方式的一种认识(也可以说是一种预编译),从字面意义上看,“变量提升”意味着变量和函数的声明会在物理层面移动到代码的最前面,在代码里的位置是不会动的,而是在编译阶段被放入内存中会和代码顺序不一样。
75 0
悟透前端:加深Javascript变量函数声明提升理解
|
前端开发 JavaScript 编译器
Javascript 函数声明和函数表达式的区别
Javascript Function无处不在,而且功能强大!通过Javascript函数可以让JS具有面向对象的一些特征,实现封装、继承等,也可以让代码得到复用。但事物都有两面性,Javascript函数有的时候也比较“任性”,你如果不了解它的“性情”,它很可能给你制造出一些意想不到的麻烦(bugs)出来。
2619 0
|
Web App开发 JavaScript 前端开发
JavaScript 中对变量和函数声明提前的示例
如题所示,看下面的示例(可以使用Chrome浏览器,然后F12/或者右键,审查元素.调出开发者工具,进入控制台console输入)(使用技巧: 控制台输入时Shift+Enter可以中途代码换行)var name = "xiaoming"; (function(){ var name = name || "小张"; console.
649 0
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
28 0
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
77 0
|
7天前
|
JavaScript 前端开发 测试技术
学习JavaScript
【4月更文挑战第23天】学习JavaScript
13 1
|
15天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习