// 在函数内部定义的变量,在函数外部是不可以访问 这是局部变量 是该函数的私有变量只归该函数占有
// 函数内的变量只能在函数以内访问
// function fn() {
// var num = 5;
// }
// // num is not defined
// console.log(num);
//
// 作用域:变量或者函数可以起作用的访问
//全局变量和全局作用域指的是变量或者函数的位置
// 全局变量: 在script之间或者一个独立的js文件中,在全局作用域中定义的变量 全局变量。在任何位置都可以访问
// 全局作用域:在script之间或者一个独立的js文件 script之间或者一个独立的js文件里的内容区域,在全局作用域中定义的作用域 全局作用域。 在任何位置都可以访问
// 局部变量:在函数作用域之间里的一个或者多个函数或者作用域,在局部作用域中定义的变量 局部变量。只有在该作用域内可以访问
// 局部作用域:任何一个函数的内部都有一个局部作用域,在局部作用域中定义的变量 局部变量。局部变量只有在定义该变量的函数中可以访问
// 函数 作用域的全局和局部 是相对的
// ECMAScript
// 全局作用域:在script之间或者一个独立的js文件中,在全局作用域中定义的变量 全局变量。在任何位置都可以访问
// var num = 15;
// function fn() {
// // 全局变量 不建议这样,这样是不规范的
// str = 'abc';
// console.log(num);
// console.log(str);
// }
// fn();
// console.log(str);
// 局部作用域:任何一个函数的内部都有一个局部作用域,在局部作用域中定义的变量 局部变量。局部变量只有在定义该变量的函数中可以访问
// function fn() {
// // 局部变量
// var num = 5;
// }
// // num is not defined
// console.log(num);
//
//
// 块级作用域:在ECMAScript中没有块级作用域。
// 代码块
{
// 代码块
var num = 5;
console.log(num);
}
console.log(num);
// js 可以层层嵌套 多个函数的层层嵌套构成了多个作用域的层层嵌套 这成为js的作用域链
//原型链: js 作用域链的访问规则; 如果当前作用域内存在要访问的变量 则使用当前作用域内的变量 否则去上一层作用域内寻找 直到全局作用域 如果找不到 则改变未声明
函数的全局变量和局部变量
猜你喜欢
转载自blog.csdn.net/zmmsdk/article/details/100799260
今日推荐
周排行