zoukankan      html  css  js  c++  java
  • JavaScript——标准对象

    在JavaScript的世界里,一切都是对象。

    但是某些对象还是和其他对象不太一样。为了区分对象的类型,我们用typeof操作符获取对象的类型,它总是返回一个字符串:

    typeof 123; // 'number'
    typeof NaN; // 'number'
    typeof 'str'; // 'string'
    typeof true; // 'boolean'
    typeof undefined; // 'undefined'
    typeof Math.abs; // 'function'
    typeof null; // 'object'
    typeof []; // 'object'
    typeof {}; // 'object'
    

    可见,numberstringbooleanfunctionundefined有别于其他类型。特别注意null的类型是objectArray的类型也是object,如果我们用typeof将无法区分出nullArray和通常意义上的object——{}

    包装对象

    除了这些类型外,JavaScript还提供了包装对象,熟悉Java的人肯定很清楚intInteger这种关系。numberbooleanstring都有包装对象。在JavaScript中,字符串也区分string类型和它的包装类型。包装对象用new创建:

    var n = new Number(123); // 123,生成了新的包装类型
    var b = new Boolean(true); // true,生成了新的包装类型
    var s = new String('str'); // 'str',生成了新的包装类型
    

    虽然包装对象看上去和原来的值一模一样,显示出来也是一模一样,但他们的类型已经变为object了!所以,包装对象和原始值用===比较会返回false

    typeof new Number(123); // 'object'
    new Number(123) === 123; // false
    
    typeof new Boolean(true); // 'object'
    new Boolean(true) === true; // false
    
    typeof new String('str'); // 'object'
    new String('str') === 'str'; // false
    

    所以不建议大家使用包装对象。

    Date

    在JavaScript中,Date对象用来表示日期和时间。

    var now = new Date(); //Wed Jan 15 2020 14:23:20 GMT+0800 (中国标准时间)
    now.getFullYear(); //年  2020
    now.getMonth(); // 月 0  0~11  代表月
    now.getDate(); // 日  15
    now.getDay(); // 星期几 3
    now.getHours(); // 时  14
    now.getMinutes(); // 分 23
    now.getSeconds(); // 秒
    
    now.getTime(); // 时间戳 全世界统一 1970 1.1 0:00:00  毫秒数 
    
    console.log(new Date(1579069400636)) //时间戳转为时间 Wed Jan 15 2020 14:23:20 GMT+0800 (中国标准时间)
    

    转换

    now = new Date(1579069400636)// 注意,调用是一个方法,不是一个属性!
    //Wed Jan 15 2020 14:23:20 GMT+0800 (中国标准时间)
    ƒ toLocaleString() { [native code] }
    now.toLocaleString()    //"2020/1/15 下午2:23:20"
    now.toGMTString()       //"Wed, 15 Jan 2020 06:23:20 GMT"
    

    JSON

    早期,所有数据传输习惯使用 XML 文件:

    • JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
    • 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
    • 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

    在JavaScript 一切皆为对象、任何js 支持的类型都可以用JSON来表示:

    • number:和JavaScript的number完全一致;
    • boolean:就是JavaScript的truefalse
    • string:就是JavaScript的string
    • null:就是JavaScript的null
    • array:就是JavaScript的Array表示方式——[]
    • object:就是JavaScript的{ ... }表示方式。

    格式:

    • 对象都用 {}
    • 数组都用 []
    • 所有的键值对 都是用 key:value

    JSON字符串 和 JS 对象的转化

    var user = {
        name: "jjh",
        age: 3,
        sex: '男'
    }
    
    //1.对象转化为json字符串
    var jsonUser =  JSON.stringify(user);
    console.log(jsonUser); //{"name":"jjh","age":3,"sex":"男"}
    
    //2.json 字符串转化为对象 参数为 json 字符串
    var obj = JSON.parse('{"name":"qinjiang","age":3,"sex":"男"}');
    console.log(obj);//{name: "jjh", age: 3, sex: "男"}
    
  • 相关阅读:
    Java 条件语句
    Java循环
    Java 变量
    Java 数据类型
    nginx+php发布网站
    安装MySQL5.7
    docker-compose参数
    部署
    dockerfile编写
    在VMware中安装CentOS7
  • 原文地址:https://www.cnblogs.com/godles/p/12197240.html
Copyright © 2011-2022 走看看