美文网首页
对象和JSON

对象和JSON

作者: YM雨蒙 | 来源:发表于2017-08-30 17:01 被阅读14次

    对象

    所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成

    创建对象

    var obj = new Object()
    var obj = {}  //字面量
    

    属性和方法

    • 对象.属性
    • 对象["属性"]
    • 增加属性和方法
      • car.type = "suv"(直接赋值)
      • car.stop = function(){alert("stop")}
    • 修改属性和方法
      • car.color= "white"
      • car.run = function(){alert(run2)}
    • 删除属性和方法
      • delete car.color
    • 查看所有属性
      • 查看一个对象本身的所有属性,可以使用Object.keys方法。
    var car = {
      color: "red",
      run: function(){alert("run")}
    }
    car.color  //"red"
    car.run  //ƒ (){alert("run")}
    car["color"]  //"red"
    
    var o = {
      key1: 1,
      key2: 2
    };
    
    Object.keys(o);
    // ['key1', 'key2']
    

    obj.constructor

    • 获取某个对象的构造函数
    var car = {
      color: "red",
      run: function(){alert("run")}
    }
    car.constructor  //ƒ Object() { [native code] }
    
    var num = new Number(123)
    num.constructor  //ƒ Number() { [native code] }
    

    obj.toString()

    • 转换为字符串
    var num = new Number(123)
    num.toString()  //"123"
    

    obj.valueOf()

    • 获取对象的原始值
    var num = new Number(123)
    num.valueOf()  //123
    

    obj.hasOwnProperty()

    • 自己所拥有的属性,返回true或者false
    var car = {
      color: "red",
      run: function(){alert("run")}
    }
    car.hasOwnProperty("color")  //true
    car.hasOwnProperty("logo")  //false
    

    JSON

    JSON 格式(JavaScript Object Notation 的缩写)是一种用于数据交换的文本格式

    JSON 对值的类型和格式有严格的规定。

    • 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
    • 简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaN, Infinity, -Infinity和undefined)。
    • 字符串必须使用双引号表示,不能使用单引号。
    • 对象的键名必须放在双引号里面。
    • 数组或对象最后一个成员的后面,不能加逗号。
    以下是合格的 JSON 值。
    
    ["one", "two", "three"]
    { "one": 1, "two": 2, "three": 3 }
    {"names": ["张三", "李四"] }
    [ { "name": "张三"}, {"name": "李四"} ]
    
    以下是不合格的 JSON 值。
    
    { name: "张三", 'age': 32 }  // 属性名必须使用双引号
    [32, 64, 128, 0xFFF] // 不能使用十六进制值
    { "name": "张三", "age": undefined } // 不能使用undefined
    { "name": "张三",
      "birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'),
      "getName": function() {
          return this.name;
      }
    } // 不能使用函数和日期对象
    

    JSON.parse()

    • JSON.parse方法用于将JSON字符串转化成对象。
    • JSON --> JS
    var userJson = '{\
                "id": 1,\
                "nick": "春鸟秋虫",\
                "avatar": "1.jpg",\
                "tags": null,\
                "authed": false\
            }';
    var user = JSON.parse(userJson);
    

    JSON.stringify()

    • JSON.stringify方法用于将一个值转为字符串。该字符串符合 JSON 格式,并且可以被JSON.parse方法还原
    JSON.stringify('abc') // ""abc""
    JSON.stringify(1) // "1"
    JSON.stringify(false) // "false"
    JSON.stringify([]) // "[]"
    JSON.stringify({}) // "{}"
    
    JSON.stringify([1, "false", false])
    // '[1,"false",false]'
    
    JSON.stringify({ name: "张三" })
    // '{"name":"张三"}'
    

    相关文章

      网友评论

          本文标题:对象和JSON

          本文链接:https://www.haomeiwen.com/subject/bbutjxtx.html