学习笔记,仅供参考,有错必纠

参考自: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)--作用域相关推荐

  1. JavaScript 入门

    JAVAScript入门 JavaScript产生原因 在Web发展初期,HTML定义了大部分的为文本文档并指示用户代理如果显示出来.但是HTML有个缺点,即它的状态固定不变.如果想改变一点东西或者使 ...

  2. 惊!!!Javascript入门必学知识

    Javascript入门学习 编程之道,程序员不仅仅要精通一门语言,而是要多学习几门. 第一课 1:javascript的主要特点 解释型:不需要编译,浏览器直接解释执行 基于对象:我们可以直接使用J ...

  3. JavaScript入门基础知识

    JavaScript入门基础学习 1.三种引用JavaScript的方式 1.1行内式 <input type = "button" value="点我试试&quo ...

  4. JavaScript—入门篇

    JavaScript-入门(笔记) 第一章 请做好准备 1-1 为什么学习JavaScript 1-2 新朋友你在哪里(如何插入JS) 1-3 我也可以独立(引用JS外部文件) 1-4 找到你的位置( ...

  5. JavaScript 入门知识点总结

    提示:笔者本身具有多种编程语言基础,因此本文只是简单记录一下JavaScript一些特性. 完全零接触的朋友可以绕道,也可以硬刚! 本文是参考慕课网的课程,点击链接可直达 笔者认为,学习编程最重要的必 ...

  6. JavaScript 入门教程-不古出品

    JavaScript 教程入门-不古出品 JavaScript 背景 JavaScript 简介 JavaScript 使用 < script > 标签 JavaScript 函数和事件 ...

  7. JavaScript 入门(上)

    目录 一.JavaScript简介 二.JavaScript的特点 1.动态改变页面内容 2.动态改变网页的外观 3.验证表单数据 4.响应事件 三.内容 1.JavaScript简介 一.JavaS ...

  8. 经典的JavaScript入门书

    经典的 JavaScript 入门书 --<JavaScript基础教程(第7版)> 原版销售累计超过 150 000 册! 欢迎你使用 JavaScript !使用这种容易上手的程序设计 ...

  9. 原版销售累计超过150 000册的经典JavaScript入门书

    媒体评论 如果你要学习 JavaScript,本书绝对不容错过. --JavaScript.about.com 一本伟大的 JavaScript入门书!适合初级程序员和 Web设计师. --Amazo ...

最新文章

  1. 【数字信号处理】线性时不变系统 LTI “ 输入 “ 与 “ 输出 “ 之间的关系 ( 周期性分析 | 卷积运算规律 | 交换律 | 结合律 | 分配率 | 冲击不变性 )
  2. 走访近20家代工厂后:近千块的大牌T恤,成本只要几十块
  3. AliOS Things图形界面开发指南
  4. postgreSQL源码分析——索引的建立与使用——B-Tree索引(3)
  5. c 调用c语言头文件,混合使用C、C++和汇编语之:在C++中使用C头文件-嵌入式系统-与非网...
  6. win10安装rqalpha开源回测框架
  7. 读书札记:Fiddler--中文版(本人自己汉化的)下载
  8. 为什么古代皇帝总是治不了腐败?因为拿得越多、越安全
  9. springcloud gateway 鉴权_SuperBoot框架是基于SpringCloud、SpringBoot敏捷开发框架
  10. SAP的Abap培训
  11. detectron2训练自己的数据集_从零教你训练自己的数据集实现汽车标志识别,汽车品牌识别源码
  12. Linux 编译安装 openssl库
  13. mybatis批量操作(批量查询,批量插入,批量更新)
  14. 会员(用户)数据化运营——分析模型
  15. HSB”、lab、CMYK、RGB有什么区别
  16. Oracle dmp文件解析
  17. 大端模式和小端模式之“终极记忆”
  18. CF838D Airplane Arrangements
  19. fast无线路由器设置服务器,迅捷(FAST)路由器静态ip上网设置方法
  20. Win7下IE浏览器主页被篡改为2345导航页,怎么改掉?

热门文章

  1. Ubuntu下面对Chrome浏览器护眼插件的调研
  2. 深入理解计算机操作系统:链接
  3. OpenCV学习笔记十:hough变换
  4. 计算机在现代教育主要应用,探讨计算机科学技术在现代教育中的应用
  5. 安装完成ubuntu系统后的基本的相关配置---Linux总结笔记
  6. 面试前抢救一下--朴素贝叶斯分类器
  7. 构建自己的npm包 简单实现
  8. 2015级C++第2周实践项目
  9. fir.im Weekly - 2017 年必须了解的 iOS 开源库
  10. Http上传Xml文件