1.全局变量:声明在函数外部的变量(所有没有var直接赋值的变量都属于全局变量)

2.局部变量:声明在函数内部的变量(所有没有var直接赋值的变量都属于全局变量)

JS中变量申明分显式申明和隐式申明。 var i=100;//显式申明 i=100;//隐式申明 在函数中使用var关键字进行显式申明的变量是做为局部变量,而没有用var关键字,使用直接赋值方式声明的是全局变量。 当我们使用访问一个没有声明的变量时,JS会报错。而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量,这一点一定要注意。

全局作用域针对于全局变量来说;

alert(c);//输出undefind

// alert(d);报错错

var c=3;

function test(){

var a=1;

b=2;

alert(c)//输出三

}

alert(c);//输出3

test();

全局变量在整个上下文都有效只是在没有赋值之前调用,会输出undefin

函数作用域是针对局部变量来说的,在函数中定义的变量在函数外不能获取

function test(){

alert(a);//声明未赋值输出undefine

var a=1;

alert(a);//1

}

// alert(a);报错,外部获取不到

test();

//alert(a);保存不能输出

块级作用域

概念“{}”中间的部分都是块级作用域ex:for while if ,js中没有块级作用域,但是可以用闭包实现类似功能。

var i=1;

if(i==1){

var b=2;

}

alert(b);//输出2

for(var j=0;j<=2;j++){

var c=3;

}

alert(c);//输出3

点击获取更多js教程

js 将内部函数变成全局函数_js中三种作用域详解(全局,函数,块级)相关推荐

  1. 网页中的三种地址详解

    网页中的a标签具有地址跳转的功能,href属性指向跳转的地址. 一.三种地址模式 网络地址分为两种,一种是绝对地址,一种是相对地址. 但是相对地址又可以细分为两种,一种是基于当前目录的相对地址,一种是 ...

  2. mysql 删除数据表中数据_Mysql-删除数据表-三种方式详解

    Mysql 删除数据表的三种方式详解 用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, ...

  3. python数据处理常用函数_pytorch中的自定义数据处理详解

    pytorch在数据中采用Dataset的数据保存方式,需要继承data.Dataset类,如果需要自己处理数据的话,需要实现两个基本方法. :.getitem:返回一条数据或者一个样本,obj[in ...

  4. mysql iif函数_sql中的iif语句详解_mysql

    IIf 返回由逻辑测试确定的两个数值或字符串值之一. 语法 数字 IIf(«Logical Expression», «Numeric Expression1», «Numeric Expressio ...

  5. Vue 中的 Render 全面详解 (渲染函数 JSX)

    相信大家都或多或少的在 code 中见过 或使用过 Render,如果你对它还是一脸懵逼,那就快上车!今天就带你来盘它.附 Element 表格自定义全选示例. 文章目录 一.Render 的资料简介 ...

  6. 分布式事务中的三种解决方案详解(转载)

    一.分布式事务前奏 快看小说网事务:事务是由一组操作构成的可靠的独立的工作单元,事务具备ACID的特性,即原子性.一致性.隔离性和持久性. 本地事务:当事务由资源管理器本地管理时被称作本地事务.本地事 ...

  7. JS截取字符串的三种方法详解

    本文详细讲解了JS截取字符串的三种方法,文中通过示例代码介绍的非常详细.对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 JS提供三个截取字符串的方法,分别是:slice(),subst ...

  8. java中控制反转_Java如何利用IOC控制反转的三种设计模式详解

    这篇文章主要为大家详细介绍了Java使用IOC控制反转的三种设计模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 对于许多开发人员来说,控制反演(IoC)都是一个模糊的概念,因为他们在现实世界中 ...

  9. java中synchronized的三种写法详解

    预备知识 首先,我们得知道在java中存在三种变量: 实例变量 ==> 存在于堆中 静态变量 ==> 存在于方法区中 局部变量 ==> 存在于栈中 然后,我们得明白,合适会发生高并发 ...

最新文章

  1. C#调用win32 api程序实例
  2. ucore操作系统实验笔记 - Lab1
  3. 技术系列课|“主动降噪”到底有多厉害?
  4. GitHub清除commit记录
  5. Windows下安装Mysql5.7.22以及遇到的问题 + 数据库连接工具Navicat
  6. Java-jdbc连接数据库
  7. 面向对象技术——UML
  8. IntelliJ IDEA 配置 JDK
  9. php大量数据库抽象,PHP系列(十二)数据库抽象层pdo
  10. IDEA如何删除无用war包
  11. vue合并表格excel导出_vue export2Excel 怎么导出一个 excel 同时里面有两个 sheet?
  12. SharePoint 2013 配置启用搜索服务
  13. 从入门到精通 - Fayson带你玩转CDH
  14. tensorflow 张量
  15. 【工作提效】PLSQL使用技巧
  16. 深入浅出CChart 每日一课——快乐高四第二十课 七月流火,总复习之CChart多种编程模式
  17. Java问题排查系列--线上问题排查的方法/步骤
  18. RTB论文梳理及精讲一
  19. Arouter 跳转失败activityResumeTrigger: not whiteListed
  20. 云服务器ECS选购集锦之九云服务器选购常见FAQ

热门文章

  1. 【Flink】Flink 运行 实时修改消费组offset
  2. 【Kafka】 kafka集群升级导致broker.id发生变动变动引起的问题
  3. 【Kafka】kafka Authentication failed credentials with SASL mech
  4. 【Linux】Linux下使用w命令和uptime命令查看系统负载
  5. 【Mac】mac移动查找的图片到某个目录
  6. 【Maven】log4j-slf4j-impl cannot be present with log4j-to-slf4j
  7. 数据结构HashMap(Android SparseArray 和ArrayMap)
  8. 《spring-boot学习》-11-定时任务
  9. 超详细讲解,带你零基础入门 kafka!
  10. Flink从入门到入土