美文网首页
js 中的声明前置

js 中的声明前置

作者: 淡然7698 | 来源:发表于2018-04-19 17:24 被阅读8次

先看代码

console.log( fn )
var fn = 1
function fn(){}
console.log( fn )
console.log(i)
for(var i=0; i< 3; i++){
  console.log(i)
}
var a = 1
function fn(){
  a = 2
  console.log(a)
  var a = 3
  console.log(a)
}
fn()
console.log(a)

解析
以上代码等同于

var fn
function fn(){}

console.log( fn )
fn = 1
console.log( fn )
var i

console.log(i)
for(i=0; i< 3; i++){
  console.log(i)
}
var a
function fn(){
  var a

  a = 2
  console.log(a)
  a = 3
  console.log(a)
}

a = 1
fn()
console.log(a)

在进入一个执行环境后,先把 var 和 function 声明的变量前置, 再去顺序执行代码

是 var 声明在前还是 function 声明的在前? who care, 按先来后到,同名覆盖。当然如果一个变量已经有值,再 var 是无效的

var fn
function fn(){}

console.log(fn)  //function
function fn(){}

var fn //已经声明过 fn, 再 var 无效,并不会重置为 undefined

console.log(fn)  //function

相关文章

  • js 中的声明前置

    先看代码 解析以上代码等同于 在进入一个执行环境后,先把 var 和 function 声明的变量前置, 再去顺序...

  • js基础概念 简记

    语句:js中语句可不用分号结尾 var a = 3 声明前置: 变量申明前置和函数申明前置 注释: // 单行注...

  • JS函数

    1.函数声明和函数表达式有什么区别 ? 2.什么是变量的声明前置?什么是函数的声明前置 js引擎的工作方式:先解析...

  • Python中的函数

    Python中的函数 定义/调用 注意Python中没有JS一样的声明前置,所以定义必须要在调用之前 函数中的参数...

  • 声明前置

    变量的声明前置 用var创建变量,声明会前置 如果上面没用 var 声明变量,直接使用就是会报错 函数的声明前置 ...

  • 变量声明前置与函数声明前置

    变量声明前置 变量声明出现在代码中的任何位置都会在该代码执行前处理,这意味着变量可以在声明之前使用。这个行为叫"h...

  • 变量声明前置与函数声明前置

    变量声明前置 变量声明出现在代码中的任何位置都会在该代码执行前处理,这意味着变量可以在声明之前使用,这个行为叫"h...

  • JS基础:调试、语句、变量、声明前置、

    一、基本调试alert(内容)内容会在页面上出现一个弹窗,弹窗会影响其他页面因素。console.long语法为(...

  • 函数与作用域

    声明前置和作用域也是JS 部分面试常考点 1.函数声明和函数表达式有什么区别 函数声明:使用function关键字...

  • 关于函数

    1. 函数声明和函数表达式有什么区别? 2. 什么是变量的声明前置?什么是函数的声明前置? 变量声明前置:所谓的变...

网友评论

      本文标题:js 中的声明前置

      本文链接:https://www.haomeiwen.com/subject/eszwkftx.html