JavaScript中var的重要性实例分析

 更新时间:2019年07月09日 08:45:44   作者:webbc  
这篇文章主要介绍了JavaScript中var的重要性,结合实例形式分析了javascript变量定义、作用范围、作用域及相关操作注意事项,需要的朋友可以参考下

本文实例讲述了JavaScript中var的重要性。分享给大家供大家参考,具体如下:

在JS中申明变量是使用var来进行申明,但是有的时候我们没有使用var也可以。这是为什么呢?我来给大家细细的说来。

var的本质

var的本质就是来申明变量的

<script>
var str = 'China';//申明并进行赋值
</script>

变量的作用范围

先以一个例子来说明引出问题,在这个例子中,在函数t中没有使用var关键字来申明变量,系统认为只是进行赋值操作而已,而且这个赋值操作会影响到了window对象的str2属性

<script>
var str1 = 'China';//申明并赋值str1
var str2 = 'Japan';//申明并赋值str2
console.log(window.str1,window.str2);//输出:China Japan
function t(){
  var str1 = 'local';//申明并赋值str1
  str2 = 'global';//赋值操作,并不是申明变量,污染window对象的属性
}
t();//调用t函数
console.log(window.str1,window.str2);//输出:China global
</script>

变量的作用域

全局作用域:在最外层定义的变量

局部作用域:在函数内部定义的变量

JS作用域的特点:首先在函数内部查找变量,找不到则到外层函数查找,逐步找到最外层,即window对象,并操作window对象的属性。

<script>
var str = 'China';
function t1(){
  var str = 'Japan';
  function t2(){
    var str = 'USA';
    console.log(str);
  }
  t2();
}
t1();
</script>

这个例子比较典型,可以来说明JS变量的作用域切换问题,脚本首先在最外层定义了str属性,当调用t1函数时,在t1函数中也定义了str变量和t2方法,当执行t2方法时,此时又定义了str变量,所以此时打印USA。

当屏蔽t2函数中的定义操作,此时在t2函数作用域中没有str变量,则从它的上一级作用域中查找,又因为t1函数中定义了str变量,此时打印Japan。

当屏蔽t1和t2函数中的定义操作,则一层一层地往外找,此时找到最外层,此时打印China。

当最外层也没有定义该变量,在运行该JS过程中就找不到该变量,此时会出错,在浏览器的控制台可以找到错误。

更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • js 将图片连接转换成base64格式的简单实例

    js 将图片连接转换成base64格式的简单实例

    下面小编就为大家带来一篇js 将图片连接转换成base64格式的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • JavaScript函数内部属性和函数方法实例详解

    JavaScript函数内部属性和函数方法实例详解

    函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。通过本文给大家介绍JavaScript函数内部属性和函数方法,感兴趣的朋友一起学习吧
    2016-03-03
  • webpack5的loader配置小白学习篇

    webpack5的loader配置小白学习篇

    这篇文章主要为大家介绍了webpack5的loader配置非常适合webpack入门的小白学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • JS 使用 window对象的print方法实现分页打印功能

    JS 使用 window对象的print方法实现分页打印功能

    这篇文章主要介绍了JS 使用 window对象的print方法实现分页打印功能,这种方法兼容性比较好,在ie和火狐浏览器下都可以正常使用,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-05-05
  • Cropper.js 实现裁剪图片并上传(PC端)

    Cropper.js 实现裁剪图片并上传(PC端)

    本案例是参考cropper站点实例,进行修改简化。接下来通过本文给大家分享Cropper.js 实现裁剪图片并上传(PC端) 功能,需要的朋友参考下吧
    2017-08-08
  • js实现百度登录窗口拖拽效果

    js实现百度登录窗口拖拽效果

    这篇文章主要为大家详细介绍了js实现百度登录窗口拖拽效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 深入了解JavaScript中的函数柯里化

    深入了解JavaScript中的函数柯里化

    JavaScript函数柯里化是一种将接受多个参数的函数转换为一系列接受单个参数的函数的技术。本文将通过简单的示例为大家详细讲讲函数柯里化的相关应用,需要的可以参考一下
    2023-04-04
  • JS处理VBArray的函数使用说明

    JS处理VBArray的函数使用说明

    JScript 8.0 VBArray 对象 提供对 Visual Basic 安全数组的访问。
    2008-05-05
  • Echarts图表移动端横屏进入退出的实现

    Echarts图表移动端横屏进入退出的实现

    本文主要介绍了Echarts图表移动端横屏进入退出的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • js中substring和substr的定义和用法

    js中substring和substr的定义和用法

    这篇文章主要介绍了js中substring和substr的定义和用法,需要的朋友可以参考下
    2014-05-05

最新评论