变量 重复声明_第6节 JavaScript变量

ECMAScript的变量(variable)是无类型的(untyped),或者称为松散类型的,所谓松散类型就是可以用来保存任何类型的数据,同样一个变量可以被重新赋予不同类型的值;换句话说,每个变量仅仅是一个用于保存值的占位符而已;

声明(declare)变量:定义变量时使用var操作符,后跟一个变量名(即一个标签符)

如:var message;

说明:该变量可以用来保存任何值,但其是未初始化的,其会保存一个特殊的值:undefined;定义后,再赋值,如message = “he”;也可以在定义变量的同时就可以设置变量的值,

如:var message = “hi”;

也可以同时声明多个变量,使用逗号分隔,如:

var v1 = 1;var v2,v3,v4;var v4,v6=6,v7=7;var v8=v9=0;

说明:可以写在多行中,有利于提高可读性;

var message = "hi",    found = false,    age = 18;

重复声明和遗漏声明:

使用var重复声明是合法的,如果在重复声明时就初始化,本质上就是赋值语句,但没有实际意义,如:

var msg = "zero";var msg = "network";console.log(msg);  // network

遗漏声明就是没有使用var声明,而直接赋值的语句;在JavaScript中,试图读取一个没有声明的变量,会报错,而赋值是允许的,如:

name = "wangwei";console.log(name);  // wangwei

注:但在严格模式下,也会报错;这是一个非常不好的习惯,并且会造成很多bug,因此,强烈建议始终使用var来声明变量。

变量都是有作用域的,也就是说,如果在函数中使用var定义一个变量,外部是无法访问的,如:

function show(){    var message = "hello";}show();console.log(message);

说明:变量message是在函数中使用var定义,它是函数内的一个局部变量;当函数被调用时,就会创建该变量并为其赋值,而在此之后,这个变量又会立即被销毁,因此就会出错错误;但:

function show(){    message = "hello";}show();console.log(message);

省略了var,message变成了全局变量,这样,只要调用了函数,此变量就有了定义,可以在函数外部任何位置被访问到。

fb964159a59f84bd2038324985928508.png

Web前端开发之JavaScript-零点程序员-王唯

注:虽然省略var可以定义全局变量,但不推荐使用这种做法;因为在局部作用域中定义的全局变量很难维护。有关作用域,是个非常重要的知识点,往后的课程会详细的讲解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值