• JavaScript:数据类型


    JavaScript中数据类型分为两种:

    1、基本数据类型

    string number boolean null undefined

    2、引用类型

    数组、Object、function

    一、基本数据类型

    二、引用类型

    1、Array

    Array类型有两种定义方式:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>数组</title>
        <script>
           window.onload=function(){
               //Array类型
               //第一种使用Array构造函数
               var arr=new Array();
               arr[0]="1";// 数组默认索引从0开始
               arr[1]="2";
               //
               var arr1=new Array("a","b","c");
               // 使用字面量的表示法
               var arr2=[1,2,3,4,5];
               // 数组里面可以包含各种数据类型
               var arr3=[1,"2",true,[1,2],{id:1}];
               // 访问数组元素
               console.log(arr3[4].id);
           };
        </script>
    </head>
    <body>
        
    </body>
    </html>

     把代码复制到浏览器里面运行结果:

    2、object类型

    2.1 使用构造函数的方式创建对象

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>对象</title>
        <script>
           window.onload=function(){
               // object类型
               // 第一种object构造函数
               var obj=new Object();
               // 属性
               obj.name="tom";
               obj.age=24;
               // 方法
               obj.action=function(){
                    console.log("我的名字是:"+this.name+",年龄是:"+this.age);
               };
               // 输出name属性的值
               console.log("姓名:"+obj.name);
               // 执行方法
               obj.action();
           };
        </script>
    </head>
    <body>
        
    </body>
    </html>

    执行结果:

    2.2  使用字面量的方式创建对象

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>对象</title>
        <script>
           window.onload=function(){
               // object类型
               // 第一种object构造函数
          /*      var obj=new Object();
               // 属性
               obj.name="tom";
               obj.age=24;
               // 方法
               obj.action=function(){
                    console.log("我的名字是:"+this.name+",年龄是:"+this.age);
               };
               // 输出name属性的值
               console.log("姓名:"+obj.name);
               // 执行方法
               obj.action(); */
    
               // 第二种字面量
               // 1、简单字面量
               var obj1={};
               obj1.name="tom";
               obj1.age=24;
               obj1.action=function(){
                   console.log("我是简单字面量")
               };
               // 属性
               console.log(obj1.name);
               // 方法
               obj1.action();
               // 2、嵌套字面量
               var obj2={
                   name:"jack",
                   age:25,
                   action:function(){
                       console.log("我是嵌套字面量");
                   }
               };
               // 属性
               console.log(obj2.age);
               // 方法
               obj2.action(); 
           };
        </script>
    </head>
    <body>
        
    </body>
    </html>

    运行结果:

    2.3 使用工厂方式创建对象

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>对象</title>
        <script>
           window.onload=function(){
               // object类型
               // 第一种object构造函数
          /*      var obj=new Object();
               // 属性
               obj.name="tom";
               obj.age=24;
               // 方法
               obj.action=function(){
                    console.log("我的名字是:"+this.name+",年龄是:"+this.age);
               };
               // 输出name属性的值
               console.log("姓名:"+obj.name);
               // 执行方法
               obj.action(); */
    
               // 第二种字面量
               /* // 1、简单字面量
               var obj1={};
               obj1.name="tom";
               obj1.age=24;
               obj1.action=function(){
                   console.log("我是简单字面量")
               };
               // 属性
               console.log(obj1.name);
               // 方法
               obj1.action();
               // 2、嵌套字面量
               var obj2={
                   name:"jack",
                   age:25,
                   action:function(){
                       console.log("我是嵌套字面量");
                   }
               };
               // 属性
               console.log(obj2.age);
               // 方法
               obj2.action();  */
    
                  // 第三种工厂方式
                  function createObj(){
                    var obj3=new Object();
                    obj3.name="kevin";
                    obj3.action=function(){
                         console.log("我是通过工厂方式创建的对象");
                    };
                    // 返回创建的对象
                    return obj3;
               };
               // 引用
               var obj4=createObj();
               // 输出属性
               console.log(obj4.name);
               // 调用方法
               obj4.action();
               // 工厂方式也可以使用传递参数的方式
               function createObjWithPara(name,age){
                   var obj5={
                       name:name,
                       age:age,
                       action:function(){
                           console.log("我是调用参数的工厂方式创建的对象");
                       }
                   };
                   //
                   return obj5;
               };
    
               var obj6=createObjWithPara("jon",30);
               // 输出属性
               console.log("姓名:"+obj6.name+",年龄:"+obj6.age);
               // 调用方法
               obj6.action();
           };
        </script>
    </head>
    <body>
        
    </body>
    </html>

    执行结果:

    2.4  使用构造函数的方式

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>对象</title>
        <script>
           window.onload=function(){
               // object类型
               // 第一种object构造函数
          /*      var obj=new Object();
               // 属性
               obj.name="tom";
               obj.age=24;
               // 方法
               obj.action=function(){
                    console.log("我的名字是:"+this.name+",年龄是:"+this.age);
               };
               // 输出name属性的值
               console.log("姓名:"+obj.name);
               // 执行方法
               obj.action(); */
    
               // 第二种字面量
               /* // 1、简单字面量
               var obj1={};
               obj1.name="tom";
               obj1.age=24;
               obj1.action=function(){
                   console.log("我是简单字面量")
               };
               // 属性
               console.log(obj1.name);
               // 方法
               obj1.action();
               // 2、嵌套字面量
               var obj2={
                   name:"jack",
                   age:25,
                   action:function(){
                       console.log("我是嵌套字面量");
                   }
               };
               // 属性
               console.log(obj2.age);
               // 方法
               obj2.action();  */
    
          /*         // 第三种工厂方式
                  function createObj(){
                    var obj3=new Object();
                    obj3.name="kevin";
                    obj3.action=function(){
                         console.log("我是通过工厂方式创建的对象");
                    };
                    // 返回创建的对象
                    return obj3;
               };
               // 引用
               var obj4=createObj();
               // 输出属性
               console.log(obj4.name);
               // 调用方法
               obj4.action();
               // 工厂方式也可以使用传递参数的方式
               function createObjWithPara(name,age){
                   var obj5={
                       name:name,
                       age:age,
                       action:function(){
                           console.log("我是调用参数的工厂方式创建的对象");
                       }
                   };
                   //
                   return obj5;
               };
    
               var obj6=createObjWithPara("jon",30);
               // 输出属性
               console.log("姓名:"+obj6.name+",年龄:"+obj6.age);
               // 调用方法
               obj6.action(); */
    
               // 第四种构造函数 首字母大写,使用驼峰命名方式 相当于一个公共的方法
               function CreateObj(){
                      this.name="tom";
                      this.action=function(){
                          console.log(this.name);
                      }
               };
               // 实例化
               var obj7=new CreateObj();
               // 输出属性
               console.log(obj7.name);
               // 调用方法
               obj7.action();
    
           };
        </script>
    </head>
    <body>
        
    </body>
    </html>

     运行结果:

    注意:构造函数的方式也可以传递参数。

    3、function

    function创建函数有以下两种方式:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>function类型</title>
        <script>
           window.onload=function(){
               // function 类型 创建函数
               // 函数声明
               function fun(name){
                   return name;
               };
               // 函数表达式
               var fun2=function(name){
                   return name;
               };
           };
        </script>
    </head>
    <body>
        
    </body>
    </html>

    两种方式的区别:

    两种创建函数的执行顺序不同,解析器会先读取函数声明,函数表达式必须要等待解析器执行到相应的代码才会执行。看下面的代码

    1、函数声明的方式创建函数,创建的函数可以在函数声明前或者函数声明后调用:

    函数声明前调用:

    函数声明后调用:

    2、函数表达式只能在其之后调用

    如果在前面调用会直接报错:

     

  • 相关阅读:
    OracleConnection is obsolete
    ORA-12899: value too large for column (actual: 27, maximum: 20)
    快速删除有外键关联的数据库的数据
    Could not load type 'System.Reflection.AssemblySignatureKeyAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c
    RegSvr32注册OCX时报错
    EF:Oracle.DataAccess.Client.OracleException: ORA-12154: TNS:could not resolve the connect identifier specified
    EF:The provider did not return a ProviderManifest instance
    EF:split your EDMX file into multiple diagrams
    读《这就是搜索引擎:核心技术详解》有感总结
    c++ 类成员变量初始化总结
  • 原文地址:https://www.cnblogs.com/dotnet261010/p/9795052.html
Copyright © 2020-2023  润新知