• 2js中的变量的数据类型


    一:js中变量的数据类型有6种:Undefined,String,Number,boolean,Object

    (1)Undefined类型变量只有只一个值undefined,当定义变量的时未进行初始化,或者手动初始化为undefined,其变量的值就位undefined;

    1 <script type="text/javascript">
    2 
    3         var ename;
    4         alert(ename);//弹出undefined
    5 
    6         ename=undefined;
    7         alert(ename);//弹出undefined
    8 
    9 </script>

    (2)“String”类型:'a','abcd',"a","abcd”...等都是String类型;注意js中没有字符型数据,而且String类型数据既可以用单引号表示,也可以用双引号表示;

    a.       typeof运算符:是用来动态判断变量的数据类型;

       使用规则:typeof   变量名

               运算结果有以下6种:"undefined","string","number","boolean","object","function";

    b.  字符串数据类型又属于,字符串对象,但字符串不属于Oject类型;

    c.  字符串类中的常用方法:toUpperCase()将字符串全部转化成大写,toLowerCase(),将字符串全部转化成小写,

    d.  字符串类中常用属性:length,计算字符串的长度,prototype用来动态的为字符串类扩展属性或者方法;

    <script type="text/javascript">
    
        var ename="abc";
        alert(ename);//弹出abc
    
        //typeof用法
        alert(typeof ename);//弹出string
        function sum(a,b){
    
            if((typeof a)!="number"||(typeof b)!="number"){
    
                 alert("数据类型不正确");
                 return ;
    
            }
    
            return a+b 
    
        }
        
        sum();//弹出"数据类型不正确"
        alert(sum(1,2));//弹出3
    
         //substr(起始下标,截取长度),用来截取字符串;substring(起始下标,结束下标);用来截取字符串,包括起始位置,不包括结束位置
         alert("abcdef".substr(1,2));//bc
         alert("abcdef".substring(1,2))//b
    
    
          
    
    
    </script>

    (3)第三种数据类型:Number:包括1,2,3,1.0,NaN,Infinity...等

    a.       NaN表计算结果本因该是一个Number类型,但是实际上计算结果不是Number类型,结果就为NaN;

              NaN意思为:Not a Number,不是一个数字,但是他是Number类型的数据;

              isNaN(变量);该函数是用来判断一个数据是否是NaN,若是则返回true,若不是则返回false;

    b.       Infinity表示无穷大,当分母为零的时候,结果肯定为Infinity;

    c.       paeseInt();表示将字符串类型数据转化为Number类型,结果保留数据的整数位;

    d.       perseFloat();表示将字符串类型数据转化为Number类型,结果保留小数为;

     1 <script type="text/javascript">
     2 
     3         //3.第三种数据类型:Number
     4         //1,2,3,1.0,NaN,infinity
     5         var i=1;
     6         alert("变量的数据类型是:"+typeof i);
     7         
     8         i=NaN;
     9         alert("i变量的数据类型是:"+typeof i);
    10         
    11         i=Infinity;
    12         alert("变量i的数据类型为:"+typeof i);
    13         
    14         //当计算结果应为数字,但是实际上计算机过不是数字的时候,结果就是NaN;
    15         //NaN表示Not a Number,不是一个数字,但是死NaN本身是一种数据类型
    16         
    17         var a;
    18         var b;
    19         var c=a+b;
    20         alert(c);//NaN
    21         
    22         var d="abc";
    23         var e=10;
    24         alert(d/e);//NaN
    25         
    26         //重要的函数:isNaN(数据),函数执行的结果为:true/false;该函数的作用是判断是一个数据是否是一个数字,若是数字返回true,若不是数字返回false
    27         alert(isNaN(d/e));//true
    28         alert(isNaN(10/2));//false
    29         
    30         //什么时候使用Infinity?Infinitity表示无穷大,当除数是0的时候,结果一定是Infinitity
    31         var retValue=10/0;
    32         alert(retValue);//Infinitity
    33         
    34         alert(10/3);
    35         
    36         //parseInt(数据)函数,将字符串类型的数据转化为"int"类型的数据,只保留整数位        
    37         var price="100";
    38         price=parseInt(100);
    39         alert(price+1);//101
    40         
    41         price="3.14";
    42         price=parseInt(price);
    43         alert(price+1);//4
    44         
    45         //parseFloat(数据)可以将非数字转换成数字,保留小数位
    46         price="3.95";
    47         price=parseFloat(price);
    48         alert(price);//3.95
    49 
    50 </script>

    (4)Boolean类型数据:只有两个值:true/false

    (5)Object类型的数据:所有自定义类都是Object类的子类;

    a.  自定义类的第一种方式:        function 类名(参数列表){

                      this.属性名称;        

                                                                     this.方法名称=function(参数列表){

                        方法体;

                      }

                                                              }

    b.  自定义类的第二种方式:  类名=function(参数列表){

                      this.属性名;

                                                                     this.方法名=function(参数列表){

                        方法体;

                                                                     }

                    }

     1 <script type="text/javascript">
     2         //5.第五种数据类型:object
     3         
     4         var obj=new Object();
     5         alert(typeof obj);
     6         
     7         //js中所有的自定义类都是Object类的子类
     8         //定义类的第一种方式
     9         function Person(name,age){
    10         
    11             //类的属性
    12             this.name=name;
    13             this.age=age;
    14             
    15             //类的方法
    16             this.work=function(){
    17             
    18                 alert(this.name+"is wotking");
    19             
    20             }
    21         }
    22         
    23         //创建Person类
    24         var per=new Person("徐志远",20);
    25         per.work();
    26         
    27         //可以使用prototype属性为Person类扩展方法
    28         Person.prototype.eat=function(){
    29         
    30             alert(this.name+"is eating");
    31         
    32         }
    33         
    34         per.eat();
    35         
    36         //定义类的第二种方式
    37         Employee=function(name,age){
    38         
    39             //Emploee类的属性
    40             this.name=name;
    41             this.age=age;
    42             
    43             //Emploee的方法
    44             this.introduce=function(){
    45             
    46                 alert("My name is"+this.name+"My age is"+this.age);
    47             
    48             }
    49         
    50         }
    51         
    52         //创建Emploee类
    53         var emp=new Employee("张鑫",19);
    54         emp.introduce();
    55 
    56 </script>
  • 相关阅读:
    Python进阶之浅谈内置方法(补充)
    Python进阶之浅谈内置方法
    Python运算符优先级
    python之浅谈循环
    MTCNN
    MTCNN
    tf.train.batch and tf.train.shuffle_batch
    tf.add_to_collection 和 tf.get_collection 和 tf.add_n
    tensorflow 迁移学习-Demo
    tensorflow 加载预训练模型进行 finetune 的操作解析
  • 原文地址:https://www.cnblogs.com/xuzhiyuan/p/7851475.html
Copyright © 2020-2023  润新知