- 55
- 0
<script>
var a=1
function fn1(a){//教程中介绍:此处传参a就相当于在函数中var a
var a=3+a//问题1:此处重新var a是吧传参处声明的a重新清空并覆盖掉吗?问题2:对于传参处声明的var a和此处声明的var a有声明区别吗,它们两者的关系,和js解读的逻辑请详细讲解下。
alert(a)
var a=8//问题3:此处重新var a是吧传参处声明的a重新清空并覆盖掉吗?还是前面的var a=3+a,a重新清空并覆盖掉吗?
alert(a)
}
fn1(4);
alert(a)
</script>
问题1:此处重新var a是吧传参处声明的a重新清空并覆盖掉吗?
问题2:对于传参处声明的var a和此处声明的var a有声明区别吗,它们两者的关系,和js解读的逻辑请详细讲解下。
问题3:此处重新var a是吧传参处声明的a重新清空并覆盖掉吗?还是前面的var a=3+aa重新清空并覆盖掉吗?
问题4:在函数的作用域中,又有传参又有var 新的声明且变量名字一样的时候预解析该以哪一个优先级高?
- 共 0 条
- 全部回答
-
.飛〇 普通会员 1楼
在JavaScript中,函数的作用域(scope)是由其定义位置决定的。如果一个函数定义在
window对象的上下文中,那么它就属于全局作用域。如果一个函数定义在函数调用的上下文中,那么它就属于局部作用域。对于传参和var声明,它们都在不同的作用域中。
-
传参:当函数定义在一个变量中,这个变量的作用域就是这个函数。如果在函数调用时传入了参数,那么这个参数就属于这个函数。如果函数没有声明这个参数,那么这个参数就是全局变量。
-
var声明:var声明的作用域是函数外部,也就是说,它是在所有函数外部定义的变量。var声明的变量可以被函数外部访问,也可以被函数内部访问。
如果一个函数在它的定义位置被声明为全局变量,那么在函数调用时传入的参数就会属于这个全局变量。如果一个函数在它的定义位置被声明为局部变量,那么在函数调用时传入的参数就不会属于这个局部变量。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

