ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

函数作用域

2022-05-11 08:00:21  阅读:115  来源: 互联网

标签:console 函数 作用域 var 全局 log


<script>
/*
*函数作用域
* - 调用函数时创建函数作用域,函数执行完毕以后,函数作用域销毁
* - 每调用一个函数就会创建一个新的函数作用域,他们之间是互相独立的*
* - 在函数作用域中可以访问到全局作用域的变量
* - 在全局作用域中无法访问到函数作用域的变量(声明)
* -当在函数作用域中操作一个变量时,它会先在自身作用域中寻找,如果有就直接使用
* 如果没有则向上一级作用域中寻找,直到找到全局作用域。 如果全局作用域中依然没有则会报错ReferenceError
*/
//创建一个变量
var a = 10;
function fun(){
var a = "我是函数中的变量a";
var b = 20;
console.log("a ="+a);
}
// fun();//显示
// console.log("b ="+b);//在函数中声明在全局中访问

/*
*若想再在函数中找全局中的a----输入window.a方可打印全局的a的值--使用window对象
*/



/*
*在函数作用域中也有声明提前的特性,
* 使用var关键词声明的变量,会在函数中所有的代码执行之前被声明

function fun3(){
var a;
console.log(a);

a = 35;//var a;a=35是未赋值的

}
fun3(); */

/*
*函数声明也会在函数中所有的代码执行之前执行、、相当于函数中的全局声明函数,,,,只是周期短fun3()调用完了就执行完了。但在全局中声明函数周期是script
*/

function fun3(){
fun4();
// console.log(a);

var a = 35;

function fun4() {
alert("I'm fun4");
}

}
fun3();

/*
*在函数中,不使用var声明的变量都会成为全局变量
*/
var c = 33;
function fun5(){
console.log("c ="+c);//函数中没有向上一级找var c = 33;
c = 10;
}
fun5();
//在全局输出c
console.log("c ="+c);//打印显示10




</script>

标签:console,函数,作用域,var,全局,log
来源: https://www.cnblogs.com/LiLi8866/p/16256400.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有