zoukankan      html  css  js  c++  java
  • Javascript学习笔记一基本数据类型与变量声明

    Javascript变量的数据类型

    Javascript有6种基本类型,也叫基础类型或元类型分别是:

      1. undefined 未定义 值类型
      未声明的变量或声明过但未赋值的变量的值为undefined。也可以显式或隐式的给变量赋值为undefined

      2. number 数值 值类型
      除赋值操作外,只有数值与数值的运算结果是数值;一些函数或方法的返回值是数值

      3. string 字符串 值类型
      不能直接读取或修改字符串中的单一字符,字符串在赋值运算中会按引用类型的方式来处理

      4. boolean 布尔值 值类型
      true/false

      5. function 函数 引用类型
      Javascript中的函数存在多重含义,包括函数、方法、构造器、类及函数对象

      6. object 对象 引用类型
      基于原型继承的面向对象,因为不具备对象系统的全部特性,Javascript通常被称为基于对象而非面向对象的语言。

    任何一个变量或值的类型都可以使用typeof运算得到。typeof关键字是保留关键字,其调用形式如下:

    var str = “abc“;
    alert(typeof str)
    //或者
    alert(typeof(str))

     变量的声明

    Javascript中变量的声明有两种方法:

    1. 显示声明
    var 关键字进行声明即显示声明如:

    var str = “abc“;

    当然函数声明及异常捕获字句中声明的异常对象也是显示声明:

    function foo(){
    }
    try{
    }
    catch(ex){
    }

    2. 隐式声明
    隐式声明通常发生在不使用关键字var的赋值语句中,如:

    str = “abc“;

    解释器对隐式声明的理解为:如果变量未被声明,则先声明该变量并立即赋值;如变量已声明,则该语句是赋值语句

    变量的作用域

    作用域有全局作用域及局部作用域,全局变量的作用域当然是全局作用域(貌似是废话),函数内部声明的变量是局部变量,作用域也

    是函数体这一局部内。

    var str = "abc";
    function foo(){
     var str = "def";
     document.write (str);
    }
    foo();      //输出def
    document.write (str);  //输出abc

    全局变量的声明可以不使用var 关键字,但在局部变量的声明中一定要使用var关键字,否则会视为对全局变量的引用或声明了全局

    变量,如下代码所示:

    var str = "abc";   //改行存在与否不影响最终输出
    function foo(){
     str = "def";
     document.write (str);
    }
    foo();      //输出def
    document.write (str);  //输出def

    Javascript 没有块级作用域一说,函数中声明的变量在整个函数中都是有定义的,看下面的代码:

    function foo(){
     document.write(str); //语句A
     var str = “abc”;
     document.write(str); //语句B
     document.write(i);  //语句 C
     for(var i = 0; i< 4; i++){
      
     }
     document.write(i);  //语句 D
    }
    foo();     //A输出 undefined,B输出 abc ,C输出 undefined,D 输出 4

    在变量声明之前输出,出现 undefined,是因为Javascript 会将所有的变量及函数声明提升到作用域的顶部,提升只会提升声明,

    而赋值不会提升,另外注意:函数提升,只会提升函数的声明方式,表达式形式的则不会提升。

  • 相关阅读:
    从txt读取数据到Cvmat
    PCA之后进行归一化
    vc中调用exe文件并传递参数
    C#安装包过程
    电脑技巧
    DLL文件的创建与调用
    SVM调用方法
    舌顶上腭位置与作用
    KNN算法的實現
    How to Read a Paper
  • 原文地址:https://www.cnblogs.com/kdalan/p/2772396.html
Copyright © 2011-2022 走看看