JavaScript变量

JavaScript变量

  • JavaScript的变量是松散类型的(可以用来保存任何类型的数据)
  • 每个变量仅仅是一个用于保存值的占位符

声明(创建) JavaScript 变量

  • 通过var关键字声明变量 : var name;
  • 只声明未赋值,该变量会保存一个特殊值undefined: var name;
  • 如果需要给该变量赋值,则可以直接用等号给变量赋值:name="mango";
  • 也可以在声明变量时对其赋值: var name="mango";
  • 可以一次声明一个变量,也可以一次声明多个变量 :
		var name="mango",        
		age=18,        
		job="student";
  • 如果变量重名,将产生覆盖
  • 如果重新声明 JavaScript 变量,该变量的值不会丢失:
		var name="mango";        
		var name;

注意:变量名严格区分大小写,且最好含义明确,以字母下划线开始加上数字、字母、下划线

JavaScript变量类型

数据类型的值定义数据类型访问方式
基本类 型值简单的数据段String、Number、Boolean、null和undefined按值访问,因为可以操作在变量中实际的值
引用类型值由多个值构成的对象保存在内存中的对象JavaScript不允许直接访问内存中的位置,即不能直接操作对象的内存空间

全局变量与局部变量

  • 全局变量:在哪里都能访问到的变量(又称成员变量)
    函数外部或者进入javascript之后立即定义的变量和函数内部不带有var的变量
  • 局部变量:只有局部能够访问的变量
    函数内部用var定义的变量
		 var num3 = 333;//全局变量
		    //函数加载的时候只加载函数名不加载函数体
		    function fn() {
		        var num1 = 111;//局部变量
		        num2 = 222; //全局变量
		        console.log(num3);//输出333
		    }
		    fn();
		    //console.log(num1);//会报错!
		    console.log(num2);//输出222
		    console.log(num3);//输出333
		var a = 1;
		function test1() {
		  var a;//局部变量与全局变量重名时会覆盖全局变量,此时的a只有声明却未定义
		  alert(a);//所以执行alert值为undefined
		  a = 2;
		  alert(a);
		}
		test1();
		alert(a);//undefined  2  1

隐式全局变量

没有直接声明的全局变量:

		 function fn1() {
		        //b和c都是隐式全局变量
		        var a = b = c = 1;
		        //e和f是隐式全局变量(分号隔开)
		        var d = 1;e = 2;f = 3;
		        //g h i都不是隐式全局变量(逗号隔开)
		        var g = 1,h = 2,i = 3;
		    }
		    fn1();
		    //console.log(a);//报错!
		    console.log(b);//输出1
		    console.log(c);//输出1
		    //console.log(d);//报错!
		    console.log(e);//输出2
		    console.log(f);//输出3
		    //console.log(g);//报错!
		    //console.log(h);//报错!
		    //console.log(i);//报错!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值