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 = {};

    小结:

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


  • 相关阅读:
    如何让spring mvc web应用启动时就执行特定处理
    关联查询left join中on 和where 的区别
    c语言中'.'与'>'的区别
    申请博客园的计划
    java学习环境安装与配置
    ACM之旅之坎坷编译器
    2013年小结
    申请博客园的计划
    生命在于运动
    委托和事件
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7061332.html
Copyright © 2011-2022 走看看