• js学习笔记(三)变量


    1、变量的声明:

    var a;     //声明了变量,但未赋值,此时变量的值为undefined

    var a,b,c;   //同时声明多个变量

    var a=100;   //声明的同时初始化变量

    var a=100,b=1000,c=10000;

    2、在函数内的变量如果没有用var进行声明,则此变量就为全局变量,即使函数体外没声明过这个变量(因为系统会自动进行隐式声明)。如果函数体中还嵌套有其他函数,则上层函数中的变量对下层函数来说是有作用域的。要想在函数中屏蔽上层的变量,可以使用var对上层中已经拥有的变量进行再声明,则此变量就变为该函数的私有变量。

    3、在函数中声明的变量,无论是在哪里声明的,在整个函数中都是有定义的,如:

      var a=10;

      function a(){

          alert(a);    //此处a的值并不是10,它并不是全局变量,因为后面又重新用var声明了a,所以此时a已经是函数的私有变量了,所以说即使是在后面才声明的var a=20,但它在整个函数中都是有定义的,只不过在执行var 语句之前它的值是undefined,所以此时a的值为undefined。

        var a=20;

    alert(a);

    }

    4、读取一个未声明的变量时系统会报错,但当给一个未事先声明的变量赋值时不会出现错误,因为系统会在全局作用中隐式的声明它。在函数的嵌套函数中未用var声明的变量也会成为全局函数。

    5、js的全局变量其实是js的最顶层对象window的一个属性,不在函数体中的this引用的就是window这个全局对象。当然函数体中的this就另当别论了。

    6、全局变量时特殊的全局对象的属性,同理局部变量也是一个对象的属性,这个对象被称为调用对象。在执行一个函数时,函数的参数和局部变量是作为调用对象的属性而存储的,这个调用对象是系统自动创建的,所以它的生命周期是比较短的。

  • 相关阅读:
    如何让背景图片全屏显示
    浅谈图片如何在页面中居中显示
    clientHeight、offsetHeight 区别 笔记
    使用Flexible实现手淘H5页面的终端适配
    max(min)-device-width和max(min)-width的区别
    HTML5 meta最全使用手册
    常见浏览器兼容性问题与解决方案
    响应式设计的性能优化(转)
    移动H5前端性能优化指南
    SQL Server Profiler使用方法
  • 原文地址:https://www.cnblogs.com/2050/p/1736410.html
Copyright © 2020-2023  润新知