zoukankan      html  css  js  c++  java
  • JavaScript 系列笔记(一)数据类型

    关于JS的数据类型

      简单类型有五种:Undifined, Null, Boolean, Number, String

      复杂类型有一种:Object

      通过typeof 操作符来获取数据类型,此操作符返回字符串

        undifined

        boolean

        string

        number

        object

        function

    类型Undifined

      只有一个值,就是undifined

      typeof 未初始化的变量,返回undifined

      typeof 未声明的变量,返回undifined

    Null类型

      只有一个值,就是null  

      typeof null 返回object

    Boolean类型

      只有两个字面值:true, false

      所有类型的值都有与这两个值等价的值

      

    Number类型

      表示浮点数的时候最高精度为17位小数,但是精度不如整数

      var a = 0.1;

      var b = 0.2;

      则:  a + b = 0.30000000000000004

      所以,使用浮点数需要注意精度问题。可以使用如下的方法进行:

      

            function accAdd(arg1, arg2) {
    
            var r1, r2, m, c;
    
            try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }
    
            try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }
    
            c = Math.abs(r1 - r2);
            m = Math.pow(10, Math.max(r1, r2))
            if (c > 0) {
                var cm = Math.pow(10, c);
                if (r1 > r2) {
                    arg1 = Number(arg1.toString().replace(".", ""));
                    arg2 = Number(arg2.toString().replace(".", "")) * cm;
                }
                else {
                    arg1 = Number(arg1.toString().replace(".", "")) * cm;
                    arg2 = Number(arg2.toString().replace(".", ""));
                }
            }
            else {
                arg1 = Number(arg1.toString().replace(".", ""));
                arg2 = Number(arg2.toString().replace(".", ""));
            }
            return (arg1 + arg2) / m
    
        }
    View Code

      数值的取值范围:

        Number.MIN_VALUE

        Number.MAX_VALUE

        超出取值范围的数值为:Infinity,可以通过isFinite()函数来判断

      NaN  表示非数值,本身是一个数值对象

        最大的特点是不等于任何值,即使是NaN,isNaN()函数可以判断是否为NaN

      数值转换

        Number()函数的转换规则

            

        parseInt()

          会判断是否符合数值模式,会忽略开头的空格,直到遇到第一个非空字符,解析到第一个非数值为止

          parseInt(参数1,16)  表示使用16进制转换,参数含义为进制

        parseFloat()

          使用方法与上面类似

    String类型

    Object类型

      对象可以通过new来创建。在JS中Object类型是所有它的实例的基础。Object中的方法和属性都存在于更具体的对象中

        constructor  构造函数,保存创建当前对象的函数

        hasOwnProperty(propertyName)  检查给定的属性是否存在于当前对象中

        isPrototypeOf(object)  检查传入的对象是否是当前对象的原型

        propertyIsEnumerable(propertyName)  检查给定的属性是否能使用for-in语句来枚举

        toLocaleString()    返回对象的字符串表示

        toString()       返回对象的字符串表示

        valueOf()       返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同

     

  • 相关阅读:
    【python+selenium】selenium grid(分布式)
    【python】导入自定义模块
    Maven的配置以及IDEA导入本地Maven
    java历史概述
    JVM 内存调优 与 实际案例
    ConcurrentHashMap实现线程安全的原理
    Request.UrlReferrer详解
    等比例缩放生成缩略图
    JavaEE的ajax入门
    javaee三层架构案例--简单学生管理系统
  • 原文地址:https://www.cnblogs.com/hutou/p/5030724.html
Copyright © 2011-2022 走看看