- 96
- 0
var a= 1;
function fn1(){
alert(a);
a = 2;
}
fn1();
alert(a);
结果 先输出1,之后输出2
想请问一下浏览器执行这个的过程,求懂得人指教
- 共 0 条
- 全部回答
-
隔壁媳妇 普通会员 1楼
在JavaScript中,作用域指的是变量或函数的声明位置对它们访问的范围。JavaScript是一种动态类型语言,它的作用域由函数和变量的声明位置决定。JavaScript的执行机制是基于上下文(Context)的,即在执行JavaScript代码时,会创建一个新的上下文,其中包含函数、变量和函数调用的上下文信息。
JavaScript的作用域主要包括以下几个部分:
- 块级作用域(Block Scope): 块级作用域是在代码块(如函数、if语句、for循环、switch语句等)中定义和访问的变量和函数。每个函数或变量都有其自己的作用域,除非在函数外部声明或使用全局变量。
示例: ```javascript function outer() { var outerVar = "outer"; console.log(outerVar); // 输出: "outer" }
function inner() { var innerVar = "inner"; console.log(innerVar); // 输出: "inner" }
outer(); inner(); ```
-
块级作用域的变量和函数可以访问到其他作用域中的变量和函数,但不能直接访问到全局作用域中的变量和函数。
-
函数作用域(Function Scope): 函数作用域是在函数内部声明和访问的变量和函数。函数内部的变量和函数不能直接访问到外部的变量和函数,但可以使用
this关键字或arguments对象访问外部的变量和函数。
示例: ```javascript function outer() { var outerVar = "outer"; console.log(this.outerVar); // 输出: "outer" console.log(arguments); // 输出: { outer: "outer" } }
function inner() { var innerVar = "inner"; console.log(this.innerVar); // 输出: "inner" console.log(arguments); // 输出: { inner: "inner" } }
outer(); inner(); ```
- 对象作用域(Object Scope): 对象作用域是在JavaScript中定义的变量和函数,它们只能在创建对象时声明,并且只能访问到对象自身的属性和方法。
示例: ```javascript let obj = { name: "John", age: 30, greet() { console.log(this.name); // 输出: "John" } };
obj.greet(); // 输出: "John" ```
- 环境作用域(Global Scope): 环境作用域是在全局变量、全局函数、全局对象等声明时的变量和函数,它们可以在任何函数、全局变量或全局对象中访问。
示例:
javascript console.log在全球范围内声明的变量和函数(如window); window.greet(); // 输出: "John"综上所述,JavaScript的执行机制是基于作用域的,不同作用域中的变量和函数具有各自的访问权限和作用范围,从而实现代码的封装和可重用。理解作用域的概念对于理解和编写JavaScript代码至关重要,因为它决定了变量和函数的可访问性、作用范围和内存管理等问题。
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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