ES5-扩展

2019-03-07  本文已影响0人  蓝醇

JSON 对象

  1. JSON.stringify(obj/arr) 我们通常说的“json字符串”,只有两种:json对象、json数组

    js对象(数组)转换为json对象(数组)

  2. JSON.parse(json)

    json对象(数组)转换为js对象(数组)

    var obj = {
        name : 'Tony',
        age : 22
    };
    obj = JSON.stringify(obj);
    console.log(obj); // {"name":"Tony","age":22}
    console.log( typeof obj); // string
    obj = JSON.parse(obj);
    console.log(obj); // {name: "Tony", age: 22}

Object的扩展

ES5给Object扩展了一些静态方法,常用的2个:

    Object.create(prototype, [descriptors])

作用: 以指定对象为原型,创建新的对象。同时,第二个参数可以为为新的对象添加新的属性,并对此属性进行描述。

​ value : 指定值

​ writable : 标识当前属性值是否是可修改的, 默认为false

​ configurable: 标识当前属性是否可以被删除 默认为false

​ enumerable: 标识当前属性是否能用for in 枚举 默认为false

Object.defineProperties(object, descriptors)

作用:为指定对象定义扩展多个属性。

get :用来获取当前属性值得回调函数

set :修改当前属性值得触发的回调函数,并且实参即为修改后的值

存取器属性:setter,getter一个用来存值,一个用来取值

obj对象本身就自带了两个方法

get 属性名(){} 用来得到当前属性值的回调函数

set 属性名(){} 用来监视当前属性值变化的回调函数

数组的扩展

\1. Array.prototype.indexOf(value) : 得到值在数组中的第一个下标

\2. Array.prototype.lastIndexOf(value) : 得到值在数组中的最后一个下标

\3. Array.prototype.forEach(function(item, index){}) : 遍历数组

\4. Array.prototype.map(function(item, index){}) : 遍历数组返回一个新的数组,返回加工之后的值

\5. Array.prototype.filter(function(item, index){}) : 遍历过滤出一个新的子数组, 返回条件为true的值

 /*
   需求:
   1. 输出第一个6的下标
   2. 输出最后一个6的下标
   3. 输出所有元素的值和下标
   4. 根据arr产生一个新数组,要求每个元素都比原来大10
   5. 根据arr产生一个新数组, 返回的每个元素要大于4
   */

    var arr = [1, 4, 6, 2, 5, 6];
    console.log(arr.indexOf(6));//2
    console.log(arr.lastIndexOf(6));//5

    arr.forEach(function (item, index) {
        console.log(item, index);
    });

    //Array.prototype.map(function(item, index){}) : 遍历数组返回一个新的数组,返回加工之后的值
    var arr1 = arr.map(function (item, index) {
        return item + 10
    });
    console.log(arr1);//[11, 14, 16, 12, 15, 16]

    //Array.prototype.filter(function(item, index){}) : 遍历过滤出一个新的子数组, 返回条件为true的值
    var arr2 = arr.filter(function (item, index) {
        return item > 4
    });
    console.log(arr2);//[6, 5, 6]

函数function的扩展:bind()

上一篇 下一篇

猜你喜欢

热点阅读