JavaScript作用域

一,作用域

就是代码名字(变量)在某个范围起作用和效果

1.全局作用域

整个script标签 ,或一个js文件

2.局部作用域(函数作用域)

这个名字只在函数内部起作用和效果

二,变量作用域

1.全局变量

全局作用域下的变量,在全局都可以使用

2.局部变量

在函数里面的变量就叫做局部变量

在函数没有声明直接赋值的变量,也叫做局部变量

3.总结

全局变量,只有浏览器关闭的时候才会消失,比较占内存

局部变量,程序结束就会销毁

三,作用域链

内部函数访问外部函数的变量,运用链式方式来查找(就近原则),称为作用域链

四,预解析

解析器运行代码分为两步:预解析和代码执行

预解析:js引擎会把js中的所有声明var和function提到当前作用域最前面

预解析分为两种:变量预解析和函数预解析

1.变量预解析

即把所有变量提到当前作用域的最前面,只提升声明,不提升赋值

如:

2.函数预解析

即把所有函数声明都提升到最前面,不调用

因此函数表达式,调用要写到函数下面

3.案例

相当于执行下面的代码

先调用fun,输出最近的number,即上面的var num,则结果为:undefined

最后结果:9 9 9 9 9 报错

var a=b=c=9 即 var a=9  b=9 c=9

就相当于b和c没有声明,即为全局变量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/640361.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战 | 无视杀软使用远控工具进行横向移动Tips

实战 | 无视杀软使用远控工具进行横向移动Tips。 在有杀软拦截,CS无法上线的情况下,经常用到todesk和向日葵这两个远控工具进行横向移动。不过这两个工具现在好像不怎么好用了。不过无所谓,用其他的就是了,听说最近GotoHTTP很火&…

PLC_博图系列☞P_TRIG:扫描 RLO 的信号上升沿

PLC_博图系列☞P_TRIG:扫描 RLO 的信号上升沿 文章目录 PLC_博图系列☞P_TRIG:扫描 RLO 的信号上升沿背景介绍P_TRIG: 扫描 RLO 的信号上升沿说明参数示例 关键字: PLC、 西门子、 博图、 Siemens 、 P_TRIG 背景介绍 这是一…

展商企业【广东伟创科技开发有限公司】| 2024水科技大会暨技术装备成果展

企业介绍 广东伟创科技开发有限公司成立于2006年,位于广东省江门市。公司是华南理工大学造纸与污染控制国家工程研究中心科技成果转化单位;是华南理工大学产学研合作单位;是广东省高新技术企业;是江门市现代信息服务业重点企业&am…

路由策略实验

一.实验要求 1、按照图示配置 IP 地址,R1,R3,R4 上使用 loopback 口模拟业务网段 2.R1 和 R2 运行 RIPV2在 RIP R2,R3 和 R4运行 OSPF,各自协议内部互通 3.在RIP和 OSPF 间配置双向路由引入,要求除 R4 上…

Macs Fan Control Pro for Mac:全面优化Mac风扇控制软件

Macs Fan Control Pro for Mac是一款专为苹果电脑用户设计的风扇控制软件,旨在通过精确的风扇速度调节,全面优化Mac的散热性能,确保系统始终运行在最佳状态。 Macs Fan Control Pro for Mac中文版下载 该软件具备实时监控功能,能够…

让流程图动起来

我们平时画流程,然后贴到文档,就完事了。但是过程演示的时候,如果只是一张静态图,很难吸引到听众的注意力,表达效果并不太好。常用的方法是可以用PPT进行动态演示,做PPT也是需要花一些时间,同时…

kaggle 泰坦尼克使用xgboost 得分0.73684

流程 导入所要使用的包引入kaggle的数据集csv文件查看数据集有无空值填充这些空值提取特征分离训练集和测试集调用模型 导入需要的包 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarni…

百度AI大会发布的APP Builder和Agent Builder有什么区别

百度在AI大会发布了三款AI工具,包括智能体开发工具AgentBuilder、AI原生应用开发工具AppBuilder、各种尺寸的模型定制工具ModelBuilder 有很多人就问,APP Builder和Agent Builder有什么不一样,怎么那么多builder? 你们就这么理解&#xff…

springboot的开发流程

文章目录 springboot的开发流程 1.创建maven项目2.引用依赖 1)起步依赖2)项目依赖3.启动类4.配置文件5.业务代码 1)dto2)controller6.restful测试7.部署 1)打包2)部署 springboot的开发流程 1.创建maven项目 新建maven项目 配置…

39.1k Star ! Meta GPT:AI Agent 排名第一,第一家人工智能软件公司,迈向自然语言编程

作者:Aitrainee | AI进修生 排版太难了,请点击这里查看原文:39.1k Star ! Meta GPT:AI Agent 排名第一,第一家人工智能软件公司,迈向自然语言编程 39.1k Star ! Meta GPT:AI Agent 排名第一&…

账号安全及应用

一、账号安全控制 1.1系统账号清理 将用户设置为无法登陆 锁定账户 删除账户 设定账户密码,本质锁定 锁定配置文件-chattr: -a 让文件或目录仅供附加用途。只能追加 -i 不得任意更动文件或目录。 1.2密码安全控制 chage 1.3历史命令 history&am…

【Java框架】SpringMVC(二)——SpringMVC数据交互

目录 前后端数据交互RequestMapping注解基于RequestMapping注解设置接口的请求方式RequestMapping注解的常用属性一个方法配置多个接口method属性params属性headers属性consumes属性produces属性 SpringMVC中的参数传递默认单个简单参数默认多个简单参数默认参数中有基本数据类…