<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//函数的声明提升
/*
js引擎在任何代码执行之前,会先读取函数声明,并在执行上下文中生成函数定义。
而函数表达式必须等到代码执行到那一行,才会在执行上下文中生成函数定义
*/
//eg1:
console.log(a);
var a = 100;
fn('小胖');//声明提升
function fn(name){
//var name="小胖";
age=20;
console.log(name,age);
//var age;
}
//网页加载js文件的时候是从头开始的,当执行console打印语句时,
//找不到,所以先赋值给undefined,然后全局找变量a包括函数体fn,将a提取出来
//fn也提取出来,都提取出来之后,fn已经预加载了,所以fn()能够正常打印
//函数的作用域和全局作用域
//在函数中,使用var声明的变量,为局部变量,只能在函数内部访问。
//不使用var声明的变量,为全局变量,在函数外也能使用
//eg2:不适用var
a=10;
function one(){
console.log(a);
js基础—var全局作用域 ,局部作用域
最新推荐文章于 2024-04-05 22:16:15 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)