JavaScript入门(part10)--作用域
学习笔记,仅供参考,有错必纠
参考自:pink老师教案
文章目录
- JavaScript入门
- 作用域
- 作用域概述
- 全局作用域
- 局部作用域
- 变量的作用域
- 全局变量
- 局部变量
- 全局变量和局部变量的区别
- 作用域链
JavaScript入门
作用域
作用域概述
通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。
全局作用域
作用于所有代码执行的环境(整个script
标签内部)或者一个独立的js
文件.
局部作用域
作用于函数内的代码环境,就是局部作用域。 因为跟函数有关系,所以也称为函数作用域。
变量的作用域
在JavaScript中,根据作用域的不同,变量可以分为两种:
- 全局变量
- 局部变量
全局变量
在全局作用域下声明的变量叫做全局变量,即在函数外部定义的变量:
- 全局变量在代码的任何位置都可以使用;
- 在全局作用域下
var
声明的变量是全局变量; - 特殊情况下,在函数内不使用
var
声明的变量也是全局变量。
局部变量
在局部作用域下声明的变量叫做局部变量,即在函数内部定义的变量:
- 局部变量只能在该函数内部使用;
- 在函数内部
var
声明的变量是局部变量; - 函数的形参实际上就是局部变量。
全局变量和局部变量的区别
- 全局变量:在任何一个地方都可以使用,只有在浏览器关闭时才会被销毁,因此比较占内存;
- 局部变量:只在函数内部使用,当其所在的代码块被执行时,会被初始化;当代码块运行结束后,就会被销毁,因此更节省内存空间。
作用域链
只要是代码都一个作用域中,写在函数内部的代码在局部作用域中,未写在任何函数内部的代码在全局作用域中;
如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域;
根据在**[内部函数可以访问外部函数变量]**的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作作用域链.
- 举个例子
HTML代码:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>数据类型</title><script>var a = 1;function fn1() {var a = 2;var b = '22';fn2();function fn2() {var a = 3;fn3();function fn3() {var a = 4;console.log(a); //a的值 ?console.log(b); //b的值 ?}}}fn1();</script></head><body></body></html>
控制台:
图解:
JavaScript入门(part10)--作用域相关推荐
- JavaScript 入门
JAVAScript入门 JavaScript产生原因 在Web发展初期,HTML定义了大部分的为文本文档并指示用户代理如果显示出来.但是HTML有个缺点,即它的状态固定不变.如果想改变一点东西或者使 ...
- 惊!!!Javascript入门必学知识
Javascript入门学习 编程之道,程序员不仅仅要精通一门语言,而是要多学习几门. 第一课 1:javascript的主要特点 解释型:不需要编译,浏览器直接解释执行 基于对象:我们可以直接使用J ...
- JavaScript入门基础知识
JavaScript入门基础学习 1.三种引用JavaScript的方式 1.1行内式 <input type = "button" value="点我试试&quo ...
- JavaScript—入门篇
JavaScript-入门(笔记) 第一章 请做好准备 1-1 为什么学习JavaScript 1-2 新朋友你在哪里(如何插入JS) 1-3 我也可以独立(引用JS外部文件) 1-4 找到你的位置( ...
- JavaScript 入门知识点总结
提示:笔者本身具有多种编程语言基础,因此本文只是简单记录一下JavaScript一些特性. 完全零接触的朋友可以绕道,也可以硬刚! 本文是参考慕课网的课程,点击链接可直达 笔者认为,学习编程最重要的必 ...
- JavaScript 入门教程-不古出品
JavaScript 教程入门-不古出品 JavaScript 背景 JavaScript 简介 JavaScript 使用 < script > 标签 JavaScript 函数和事件 ...
- JavaScript 入门(上)
目录 一.JavaScript简介 二.JavaScript的特点 1.动态改变页面内容 2.动态改变网页的外观 3.验证表单数据 4.响应事件 三.内容 1.JavaScript简介 一.JavaS ...
- 经典的JavaScript入门书
经典的 JavaScript 入门书 --<JavaScript基础教程(第7版)> 原版销售累计超过 150 000 册! 欢迎你使用 JavaScript !使用这种容易上手的程序设计 ...
- 原版销售累计超过150 000册的经典JavaScript入门书
媒体评论 如果你要学习 JavaScript,本书绝对不容错过. --JavaScript.about.com 一本伟大的 JavaScript入门书!适合初级程序员和 Web设计师. --Amazo ...
最新文章
- 【数字信号处理】线性时不变系统 LTI “ 输入 “ 与 “ 输出 “ 之间的关系 ( 周期性分析 | 卷积运算规律 | 交换律 | 结合律 | 分配率 | 冲击不变性 )
- 走访近20家代工厂后:近千块的大牌T恤,成本只要几十块
- AliOS Things图形界面开发指南
- postgreSQL源码分析——索引的建立与使用——B-Tree索引(3)
- c 调用c语言头文件,混合使用C、C++和汇编语之:在C++中使用C头文件-嵌入式系统-与非网...
- win10安装rqalpha开源回测框架
- 读书札记:Fiddler--中文版(本人自己汉化的)下载
- 为什么古代皇帝总是治不了腐败?因为拿得越多、越安全
- springcloud gateway 鉴权_SuperBoot框架是基于SpringCloud、SpringBoot敏捷开发框架
- SAP的Abap培训
- detectron2训练自己的数据集_从零教你训练自己的数据集实现汽车标志识别,汽车品牌识别源码
- Linux 编译安装 openssl库
- mybatis批量操作(批量查询,批量插入,批量更新)
- 会员(用户)数据化运营——分析模型
- HSB”、lab、CMYK、RGB有什么区别
- Oracle dmp文件解析
- 大端模式和小端模式之“终极记忆”
- CF838D Airplane Arrangements
- fast无线路由器设置服务器,迅捷(FAST)路由器静态ip上网设置方法
- Win7下IE浏览器主页被篡改为2345导航页,怎么改掉?