博客列表 >0225 Js数据类型

0225 Js数据类型

Admin
Admin原创
2020年03月03日 09:08:56897浏览

Js的细说数据类型

Js的数据类型

1.1 原始类型

  • string 字符串
  • number 数值
  • Boolean 布尔 true / fasle

    1.2 复合类型

  • object 对象
  • array 数组
  • function 函数

    1.3 特殊类型

  • undefined 数值为空
  • null 0

    类型检测

  • typeof: 检测类型

    例子:

    1. var value = null;
    2. console.log(typeof value);
    3. if(typeof value !== 'undefined' && !value){
    4. console.log('value 是 null 类型');
    5. }
    6. // 如果正确检测数数组
    7. var arr = [1,2,3,4];
    8. console.log(typeof arr);
    9. console.log(arr instanceof Array);
    10. console.log(arr instanceof Object);
    11. //检测arr类型有isArray
    12. console.log(Array.isArray(arr));


    js中所有数值都是64位的浮点数,没有整数
    也就是说Js中数字都是浮点数而不是整数,举个例子!

    并且js中的浮点数运算可能并不是你们所想象中的那样子

    0.1+0.2 != 0.3
    Js的字符串对象非常的神奇,它可以当成数组来读取

    但是数组形式的字符串只是可读状态,不允许修改也无法利用数据的形式去重新复制修改

    JS中返回为false的几种类型

    Js Undefined 与 null

    undefined 与 null 在条件判断中为false
    null会自动转变为0
    在以下几种情况下会自动给变量赋值undefined

  • 变量声明但是没有赋值/初始化
  • 函数参数无默认值
  • 对象属性未赋值
  • 函数无return

    JS 对象

    对象是JS的核心
    其实JS中也是存在类似于关联数组的访问形式
    1. var xiaoyu = {
    2. name : 'xiaoyu',
    3. age : 18,
    4. marriage : false,
    5. 'ok f' : 'ok'
    6. };
    7. console.log(xiaoyu.name);
    8. console.log(xiaoyu['name']);
    9. console.log(xiaoyu.age);
    10. //错误使用
    11. // console.log(xiaoyu.ok f);
    12. console.log(xiaoyu['ok f']);

    也可以在对象中定义数组,方法等属性

    还有一种叫json有所不同的是键名需要用引号括起来
    1. var json = {
    2. "xiaoyu":"xiaoyu",
    3. "age":18
    4. }

    Js的拷贝机制

    1. var a = 10;
    2. var b = a;
    3. console.log(b);
    4. b = 12;
    5. console.log(b);
    6. console.log(a);
    7. var obj = {
    8. x:15,
    9. y:20
    10. };
    11. console.log(obj.x);
    12. var obj2 = obj;
    13. console.log(obj2.x);
    14. obj2.x = 30;
    15. console.log(obj2.x);
    16. console.log(obj.x);

    在Js中如果是单纯的变量与变量之间拷贝,只是拷贝其值。
    而对象间拷贝则是拷贝其地址指针。
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议