稳扎稳打JS——自由变量
时间:2022-05-03
本文章向大家介绍稳扎稳打JS——自由变量,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
自由变量的作用域在程序运行前就已经确定!
- 自由变量相当于Java中的全局变量,它在外层作用域中声明,但在内层作用域中使用,如下所示:
var a = 1;
function fn(){
console.log(a);//a为自由变量
}
- 当自由变量所属的函数被定义时,自由变量的值就已经确定,是该函数定义处的父作用域中同名变量的值。
- 在上述示例中,函数内部的a是自由变量,它的值是fn的父作用域中a的值,也就是1。
- 来看下面的示例:输出结果为1
var a = 1;
function fn1(fn){
var a = 2;
fn();
}
function fn2(){
console.log(a);
}
fn1(fn2);
fn2中的自由变量a在其定义时就已经确定,是它定义处的父作用域中的同名变量的值,而fn2定义处的父作用域为全局作用域,全局作用域中a的值为1,因此输出的结果为1。
- 注意:自由变量的值一定要去函数定义处找!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 按照list中实体类的某一属性排序
- java邮件开发
- java计算某日期之后的日期
- 文件上传之Html5 + jQuery上传、asp.net web api接收
- Struts2自定义结果视图(servlet验证码)
- jQuery Ajax传递数组到asp.net web api参数为空
- asp.net web api集成微信服务(使用Senparc微信SDK)
- asp.net web api添加统一异常处理
- .NET HttpClient扩展
- md5和base64加密解密
- asp.net web api添加自定义认证
- 代理模式实例
- FastDFS.Client操作文件服务器
- Oracle触发器实现监控某表的CRUD操作
- asp.net web api返回图片至前端