ECMAscript 变量作用域总结概括


使用var操作符声明的变量与未使用var操作符声明的变量区别

Javascript是遵循ECMAScript标准下的一个产物,自然ECMAScript的标准其要遵循

ECMAScript的变量是松散类型的,即可以用来保存任何类型的数据(未经初始化的变量,会保存一个特殊值undefined).

未使用var操作符声明

  function test() {
    message='hi';
    console.log(message);
  }
  console.log(message);

未使用var操作符声明的变量message为全局变量,未调用test()方法, message就属于未定义状态。

查看图片

function test() {
    message='hi';
    console.log(message);
  }
  test();
  console.log(message);

未使用var操作符声明的变量message为全局变量,必须调用test()方法, message才会有效。

查看图片

使用var操作符声明

局部变量

function test() {
    var message='hi';
    console.log(message);
  }
  test(); 
  console.log(message);

在函数内用var声明的变量,调用test()方法后message被销毁,控制台输出找不到此变量。

查看图片

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对积木网的支持!

温故知新——JavaScript中的字符串连接问题最全总结(推荐)
ECMAScript中最常见的一个问题是字符串连接的性能。与其他语言类似,ECMAScript的字符串是不可变的,即它们的值不能改变。请考虑下面的代码:varstr="hell

JavaScript中各数制转换全面总结
利用toString的基模式来进行转换:ECMAScript对数字类型的toString描述如下:Number类型的toString()方法比较特殊,它有两种模式,即默认模式和基模式。采用

javascript实现Java中的Map对象功能的实例详解
javascript自定义对象实现Java中的Map对象功能Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。这里我创