javascript变量及变量作用域 - Web前端
作者:98wpeu发布时间:2026-05-16分类:网页前端技术浏览:3
变量代表了系统的一个存储区域。所有的编程语言都提供了变量这个语言元素。变量用于存储数据,比如数值或字符串。变量有三个方面的特性:名称、类型以及变量的值。

javascript是一种动态语言,对于JavaScript而言,它没有变量类型。也就是说,在声明变量时不需要指定变量的类型,变量类型由赋值给变量的值所确定。Javascript不能像java和C++那样在声明变量的时候指定变量的数据类型。
typeof运算符
如果需要查看变量的类型,可以使用typeof运算符来查看。typeof的使用方法有两种,这两种方法是等价的。
typeof operand typeof (operand)
在javascript中,常用的变量类型有:Number、string、Boolean、Array和date。对于字符串类型,typeof返回String,数值类型的值返回number,布尔类型的值返回boolean,对象类型的值返回Object,函数类型的值返回function。如果一个变量没有定义,那么typeof对这个变量操作的结果为undefined。
null和undefined类型
Null和Undefined也是JavaScript的数据类型。Null的取值为null,表示“没有值”。Null既不是0,也不是空字符串,而是JavaScript的一种对象类型。Null用于初始化变量,以避免产生错误,也用于清除变量的内容,从而释放于变量关联的内存空间。当把Null赋值给某个变量后,该变量就不再保存任何有效数据了。
对于一个已经声明但为赋初值的变量来说,它的值为undefined,如果在程序中直接使用这个值,会导致程序出错。对于这样的变量,可以使用typeof来判断其类型,typeof返回的值将是字符串undefined。如果声明变量后,把null赋值给这个变量,那么这个变量的值为null,在程序中使用这个变量时将不会导致运行时错误。
单词undefined不是JavaScript中的关键字,而是系统预定义的一个全局变量。null和undefined既有联系,又有一定的区别。当使用==运算符来判断这两个值是否相等的时候,得到的结果为相等。如果想区分判断null和undefined,应该使用测试一致性的运算符===。
typeof(null); //object typeof(undefined); //undefined; null == undefined; //true null === undefined; //false
变量的声明和变量的初始化
变量在使用之前必须声明,这不仅是JavaScript的要求,也是一个好的编程习惯。JavaScript声明变量有两种方式:使用关键字var显示声明变量和使用赋值语句隐式的声明变量。
在声明变量的同时,可以为变量指定一个值,这个过程称为变量的初始化。如果没有为变量赋初值,那么这个变量的值为undefined。
变量声明语句的一般格式为:
var variable_name = value; //声明变量的同时初始化变量 var variable_name; //声明变量,但没有进行初始化 variable_name; //在为变量赋值的同时声明变量
变量的作用域
变量的作用域指的是变量的作用范围或使用范围。JavaScript有两种变量:全局变量和局部变量。全局变量在整个页面中都可以使用(要在变量声明之后);局部变量则只能在函数中使用,并且局部变量必须使用var关键字来声明。
声明一个局部变量:
function fn1(){
var a = 10; //声明一个局部变量,该变量的作用域为fn1()函数
alert(a);
}当在函数内部没有使用var来声明变量的时候,这个变量就会作为全局变量来声明。
function fn2(){
b = 10; //声明一个全部变量,该变量可以在fn2()函数之后的所有地方使用
alert(b);
} 最佳实践:在函数中定义的变量一定使用添加var来声明。另外需要注意的是,同名局部变量会在作用域内覆盖同名的全局变量,使用时要特别注意。
返回javascript教程主目录>>
相关推荐
- 跨平台移动前端框架AUI 2.0 - Web前端
- SVG进阶 | SVG路径动画-SMIL - Web前端
- javascript变量及变量作用域 - Web前端
- SVG基础 | SVG switch 元素 - Web前端
- 【SVG】理解SVG坐标系统和变换: 建立新视窗 - Web前端
- HTML5 Canvas:绘图状态和状态栈 - Web前端
- 【SVG】CSS和SVG之间的图形文本的效果 - Web前端
- JavaScript核心对象-数组对象 - Web前端
- JavaScript面向对象-基于原型链和函数伪装组合的方式实现继承 - Web前端
- 基础知识 - 跨平台移动前端框架AUI 2.0 - Web前端
- 网页前端技术排行
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


