typeScrit(3)-函数中变量的作用域
程序员文章站
2022-07-03 16:22:54
...
例一:(:void 是方法无返回类型时声明的空类型 )
function zhengXing():void{
var yangzi = '刘德华'
console.log(yangzi)
}
zhengXing()
console.log(yangzi)
正常输出
刘德华
刘德华
例二:
var yangzi = '刘德华'
function zhengXing():void{
console.log('整形成'+yangzi+'的样子')
}
zhengXing()
console.log(yangzi)
正常输出
整形成刘德华的样子
整形成刘德华的样子
例三:
当局部变量与全局变量重名的时候,在函数体内是局部变量起作用;如果重名,就有变量提升(覆盖),这是一个坑
var yangzi:string = '刘德华'
function zhengXing():void{
console.log('整形成了'+yangzi+'的样子')
var yangzi:string = '马德华'
console.log('整形成了'+yangzi+'的样子')
}
zhengXing()
console.log(yangzi)
输出
整形成undefined的样子
整形成马德华的样子
刘德华
例四:
在早期javascript的变量作用域只有全局和局部,并且是以函数划分的,但在其他语言中,作用域的划分是以一对大括号作为界限的。
所以,JavaScript就遭到了无数开发者的吐槽,甚至说javascript不适合开发大型语言,容易内存溢出。JavaScript团队意识到了这一点,在ES6中推出了let关键字。
使用let关键字的变量就是一个块级作用域变量。希望大家在实际工作中多使用let来声明你的变量,让你的程序更有条例。 来看一端程序:
function zx():void{
var yz:string = "刘德华"
{
let yz2:string = '小沈阳'
console.log("整形成"+yz2)
}
console.log("整形成"+yz)
console.log("整形成"+yz2) //这里提示报错,但依然执行了
}
zx()
输出
整形成小沈阳
整形成刘德华
整形成小沈阳
上一篇: 入门
下一篇: 修改浏览器原生滚动条样式
推荐阅读
-
Shell中的函数、函数定义、作用域问题介绍
-
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
-
解析Python中的变量、引用、拷贝和作用域的问题
-
一篇文章带你了解JavaScript中的变量,作用域和内存问题
-
Shell中变量作用域的介绍与使用命令
-
js变量的作用域、变量的提升、函数的提升
-
讲解Python中for循环下的索引变量的作用域
-
匿名函数闭包模仿块级作用域,轻松解决开发中的两大难题
-
深入探究Python中变量的拷贝和作用域问题
-
python3 速查参考- python基础 6 -> 函数编程之参数、变量、作用域、递归、匿名函数 lambda