JavaScript学习 - 基础(二) - 基础类型/类型转换

基础类型 - 数字类型(Number)

1.最基本的数据类型

2.不区分整型数值和浮点型数值

3.所有数字采用64位浮点格式存储,相当于Java和C语言中double格式

4.能表示的最大值 +- 1.7976931348623157 * 10308

5.能表示的最小值为 +-5 * 10 -324

6.NAN (not a number)属于Number类型的一种

 

整数:

  在javascript中10禁止的整数由数字的序列组成

  精准表达的范围是-9007199254740992(-253) 到 9007199254740992(253)

  超出范围的整数,精准度将受影响

浮点数:

  使用小数点记录数据

  例如:

    3.4  5.6

  使用指数记录数据

  例如:

    4.3e23 = 4.3 * 1023

16进制和8进制数的表达

  16进制数据前面加上0x,八进制前面加0

  16进制数是由0-9,A-F等16个字符组成

  8进制数由0-7等8个数字组成

  16进制和8进制与2进制的换算

 

基础类型 - 字符串(String)

1.是由unicode字符、数字、标点符号组成的序列

2.字符串常量收尾单引号或双引号

3.Javascript中没有字符类型

4.常用特殊字符在字符串中的表达

5.字符串中部分特殊字符必须加上右划线

6.常用的转义符 \n:换行   \':单引号  \":双引号   \\:右划线

 

String 数据类型的使用

  特殊字符的使用方法和效果

  unicode的插入方法

<script>
    var str="\u4f\nwecome\"js编程\"";
</script>

 

基础类型 - 布尔型(Boolean)

1.仅有两种值:(在js 中 true/false 都是小写)

  true 代表 1

  false 代表 0 

实际运算中 true = 1 , false = 0

2.布尔值也可以看作on/off、1/0对应、1/0对应true/false

3.Boolean 值主要用于Javascript的控制语句:if else .

    <script>
            if(1){
                alert("OK")
            }else {
                alert("NO")
            }
    </script>

//输出为 OK

 

基础类型 - Null & Undefined

Undefined类型

  只有一个值,即Undefined.

  1.当申明的变量未初始化时,该变量默认值为Undefined.

  2.当函数无明确返回值时,返回值为Undefined.

    <script>
            var x;
            document.write("<h1>"+x+"</h1>")

            //输出:  undefined
    </script>

NUll类型

  1.只有一个值,专用值null,undefined实际上也是从值null派生来的,因此ECMAscript定义它们的值相等

  2.尽管这两个值相等,单它们的含义不同,undefined是声明了变量单未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象.

  3.如果函数或方法要返回的是对象,name找都不到该对象时,返回的通常是null

<script>
            var x = null;
</script>

 

数据类型转换

1.js 属于松散类型的程序语言

2.变量在声明的时候并不需要指定数据类型

3.变量只在赋值的时候才会确定数据类型

4.表达式中包含不同类型数据则在计算过程中会强制类型转换

例:

  数字 + 字符串 => 数字转换为字符串

  数字 + 布尔值 => 数字

  字符串 + 布尔值 => 布尔值转为字符串的true或false

 

规则:

字符串碰到数字或者布尔值,都会将后者转换成字符串.

字符串 > 数字 or 字符串 >布尔值

布尔值 = 数字

   <script>
        //数字+字符
            console.log(1+"2")
            console.log("2"+1)
        //12
        //21

        //数字+布尔值
            console.log(1+true)
            console.log(1+false)
        //2
        //1

        //字符+布尔值
            console.log('1'+true)
            console.log('1'+false)
        //1true
        //1false
    </script>

 

强制类型转换函数

parseInt()强制转换为数字
parseFloat()强制转换为浮点
eval()将字符串强制转换为表达式返回结果
<script>
        //parseInt()强制转换为数字
        //parseFloat()强制转换为浮点
            console.log(parseInt('hello'))
            console.log(parseInt('11111'))
            console.log(parseInt('111he'))
            console.log(parseInt('he111'))
        // NaN
        // 11111
        // 111
        // NaN

            var x = eval('1+2')
            console.log(x)
        //3
            var x = eval('1>2')
            console.log(x)
        //false
    </script>

 

类型查询函数(typeof)

运算符来判断一个值是否在某中类型的范围内.可以用这种预算符判断一个值是否表示一种原始类型.

    <script>
        //typeof
        console.log(typeof('hello world'));
        console.log(typeof(123));
        console.log(typeof(true));
        console.log(typeof(null));
        console.log(typeof(undefined));
        console.log(typeof(parseInt('hello'+1)));

        console.log(typeof([1,2,3]));

        //string
        //number
        //boolean
        //object
        //undefined
        //number
        //object
    </script>

 

posted @ 2018-10-19 17:28  Anec  阅读(213)  评论(0编辑  收藏  举报