zoukankan      html  css  js  c++  java
  • JavaScript typeof运算符和数据类型

    // js有6种数据类型:Undefined、Null、Boolean、String、Number、Object
    
    //(01)typeof  
    console.log(typeof undefined); //undefined
    console.log(typeof null); //object   :特殊1
    console.log(typeof true); //boolean
    console.log(typeof ''); //string
    console.log(typeof 0); //number
    console.log(typeof {}); //object
    console.log(typeof function () { }); //function    :特殊2
    
    //(02)Undefined 用于没有初始化的变量赋值undefined
    
    //(03)Null undefined派生于null,用于表示一个空引用(指针),undefined == null =>true
    
    //(04)Boolean 值为 true和false ,JavaScript区分大小写,所以True等不是Boolean的值
    //类型转换
    //Boolean() ,将任何类型转换为布尔类型
    var hello = Boolean("hello"); //调用方法(不是构造函数)显示类型转换
    console.log(hello); //true
    if ('hello')
    { //隐式类型转换
        console.log('隐式类型转换成功!');
    }
    
    //(05)Number
    //声明
    var num = 10; //10进制
    var num = 077; //8进制
    var num = 0xa; //16进制 ,0=>零
    console.log(num); //10
    
    //浮点类型,占用内存比整数类型打2倍
    var box = 12.0;
    console.log(box); //自动转换为:12
    
    //e表示法(科学计数法)
    var box = 1.23e3;
    console.log(box); // 小数点向后移动n位:1230 
    var box = 1.23e-3;
    console.log(box); //向前移动n位:0.00123;
    
    // 浮点类型精确度为17位,运算的话,有时会不精准
    console.log(0.1 + 0.2); //0.30000000000000004
    
    //NaN ,not a number
    var box = 0 / 0;
    console.log(box); //0不能作除数:NaN
    console.log(box + 1); //任何与NaN运算的结果都是NaN :NaN
    console.log(NaN + 1); //任何与NaN运算的结果都是NaN :NaN
    console.log(isNaN(box)); //true
    console.log(isNaN({})); //隐式调用对象的toString方法 :true
    
    //类型转换
    //Number(),将任何类型转化为数字
    console.log(Number(box)); //NaN
    console.log(Number(true)); //1
    //parseInt()
    console.log(parseInt('0xa'));//10  
    console.log(parseInt('a', 16));//10
    console.log(parseInt('70', 8));//56
    //parsenFloat() 同上
    
    //(06)String :字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改
    //变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的
    //字符串填充该变量
    //toString()
    var box = 10;
    console.log(box.toString(2));//可以进制转换:1010
    //类型转换
    //String(),将任何类型转换为字符串
    
    //(07)Object :
    //类型转换
    //Object(),将任何类型转换为对象;
    
    //最后总结: 类型转换貌似就是调用的构造函数来创建对应类型的对象,网上说的和构造函数有区别的说法应该是不对的!
    有些事现在不做,一辈子都不会做了
  • 相关阅读:
    远程服务器git搭建
    Ubuntu安装配置MySQL数据库,Apache,PHP
    html radio check
    opencv 抠图联通块(c接口)
    Vim命令
    二维码
    zTree Jquery eCharts
    Java进阶篇设计模式之二 ----- 工厂模式
    SpringBoot整合Netty并使用Protobuf进行数据传输(附工程)
    SpringBoot整合Jsp和Thymeleaf (附工程)
  • 原文地址:https://www.cnblogs.com/mengkai/p/6429903.html
Copyright © 2011-2022 走看看