zoukankan      html  css  js  c++  java
  • JS学习笔记-数据类型

             最初的JS学习已经过去大半年的时间了,至此感觉对JS的使用与理解并非非常深入,因此在近期的工作之余也開始了新一轮的JS学习。

    几天时间过去了,对于一些基础内容的学习还是非常有必要的,就从今天的又一次整理開始吧。

            对于JavaScript数据类型。開始并没有全面的认识,仅仅是简单的使用varkeyword来定义变量。如今了解到使用var声明变量的方法是JavaScript的语言核心ECMAScriptJS定义的,尽管可任意改变该变量的值,不考虑其数据类型,但这就带来了后期维护的困难,以及性能不高、成本非常高的问题。

    这样看来使用var任意声明变量有利也有弊了。

            ECMAScript中定义了六种数据类型:UndefinedNullBooleanNumberStringObject(注意JavaScript是区分大写和小写的。类型的首字母都要求大写,这与后面介绍的类型值是不同的),不支持不论什么创建自己定义类型机制,全部值都会是以上六种数据类型之中的一个。

    以下我们分别来看。

    一、Undefined

            该类型仅仅有一个值undefined,当变量声明后但没有对其进行初始化时,则该变量的值为undefined。未初始化的变量自己主动赋值为undefined

            var box;

            alert(box);        //弹窗显示undefined

    二、Null

            值为null,表示空对象的引用。若定义变量用于存储对象,则可初始化为null值。在进行推断变量是否指向对象时可用null值进行等值比較。

           

            与值undefined的关系:undefined继承于null值。ECMA规范中规定仅仅定义未初始化的undefined值与运行空对象引用的null值是相等的,思考下,两个变量值都表示为空,比較时可理解为相等。但各自的类型还是不能混为一谈的。

    三、Boolean

            拥有truefalse两个值,但其它各类型都可显式或隐士的转换为该类型值,以用作if条件推断或者其它,这里仅仅介绍转换规则


    四、Number

            包括整型和浮点型,输入数值字面量可分为几种格式:十进制、十六进制(以0x开头)、八进制(以0开头),而二进制表示则可採用通用的方法parseInt("****",2)。输出数据时则会默认显示为十进制数。

    其它值:Infinity(正无穷)及-Infinity(负无穷);NaN值(Not a Number)。

            转型:

                     Number():可用于不论什么数据类型

                                   alert(Number(true));//1,Boolean 类型的 true 和 false 分别转换成 1 和 0

                                   alert(Number(25));//25。数值型直接返回

                                   alert(Number(null));//0。空对象返回 0

                                   alert(Number(undefined));//NaN。undefined 返回 NaN

                                   alert(Number('')); //字符串为空,转为0

                     parseInt():字符串转整型、parseFloat():字符串转浮点型          

                                  alert(parsetInt('456Lee'));//456。会返回整数部分

                                  alert(parsetInt('Lee456Lee'));//NaN,假设第一个不是数值,就返回 NaN

                                  alert(parseInt('12Lee56Lee'));//12,从第一数值開始取。到最后一个连续数值结束

                                  alert(parseInt('56.12'));//56,小数点不是数值,会被去掉

                                  alert(parseInt(''));//NaN,空返回 NaN

    五、String

            用于表示由零个或多个16Unicode字符表示的字符串序列。

            转型:

                     toString()方法可将其它类型值转换为字符串,參数可选(转换数值时,可加入进制类型)

                     String()方法,可将不论什么类型的值转为字符串,即使是nullundefined的情况

    六、Object

            对象的概念在此不再多讲。后面对专门探讨。创建的方式有两种:

                     var box = new Object();

                     var  box = {};

    小结:

            对于数据类型的学习,曾经并没有太过于重视,仅仅是懂了简单的应用,如今学习起来这部分的内容还是感觉有非常多须要值得推敲的部分。比方数据类型之间的转换,数据存储的优化等都会对程序实现起到非常关键的数据,所以多深入一些基础方面的东西还是非常有必要的。


  • 相关阅读:
    CNN comprehension
    Gradient Descent
    Various Optimization Algorithms For Training Neural Network
    gerrit workflow
    jenkins job配置脚本化
    Jenkins pipeline jobs隐式传参
    make words counter for image with the help of paddlehub model
    make words counter for image with the help of paddlehub model
    git push and gerrit code review
    image similarity
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7061332.html
Copyright © 2011-2022 走看看