js-函数

定义

1.有参无返回值
2.
3.
4.
function 函数名(参数列表){
函数体;

}

arguments
代表函数中实际传递的参数

定义方式二

var 函数名= function(){

}

函数的声明方式三 很麻烦

var sum =new Function(“a”,“b”,“函数体”);

函数的覆盖

function sum(a,b){
return a+b;
}
function sum(a,b){
return a-b;
}
当有一个函数声明了俩,后面声明的会覆盖掉先生命的

作用域

**全局变量:**函数外部声明或者以 没有var数据类型的方式在方法中声明。
**局部变量:**函数内部声明,且使用var数据类型关键字修饰

Javascript执行环境

js是先构建环境,在去执行代码。
1.检查所有的全局变量和函数。将全局变量和函数定义好在执行代码
2.遇到函数在构建环境,检查函数中的局部变量及函数中的函数一律搭完环境。

<script>
			var a=0;
			function fun1() {
			
				alert("fun1.a:"+a);
					var a=8;	
				
			}
			fun1();
			
			
		</script>
  • 执行以上代码。
  1. 先搭配环境 一个全局变量a=0,一个函数fun1().
  2. 搭配fun1()环境,内部有局部变量a,覆盖掉 a=0;此时a未定义。搭配环境不是给变量赋值。
  3. 需要在执行代码时给其赋值。
<script>
			function fun1 () {
				alert("fun1.a:"+a);
				fun2 ();
				var a=8;
				function fun2(){
					alert("fun2.a:"+a);
				}
				
			}
			fun1();
		</script>

以上代码执行结果是未定义。
fun1() fun2()在执行代码时,都没有对变量a进行赋值操作。
当 var a=8;写在fun(2);上;结果是 未定义 8

  1. 先搭配全局变量和函数的环境后执行代码;遇到函数再去搭配函数的环境。
    js执行环境中,函数内的同名参数对全局变量的影响、
<script>
			a=10;
			function fun1(){
				alert("fun1.a:"+a);
				 
				fun2();
				var a=8;
				function fun2(){
					alert("fun2.a"+a);
				}
			}
			fun1();
		</script>
**函数内的局部变量在搭建环境时,把全局变量覆盖掉了  在执行代码时,未定义其值。为默认值undified.**

JS搭配执行环境,方法内定义的的全局变量不会覆盖调之前的全局变量声明


```go
<script>
			a=10;
			function fun1(){
				alert("fun1.a:"+a);
				 
				fun2();
				a=8;// 此时a是全局变量,不会对外面的同名全局变量进行覆盖
				function fun2(){
					alert("fun2.a"+a);
				}
			}
			fun1();
		</script>
执行结果都是10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值