美文网首页
ES5-扩展

ES5-扩展

作者: 蓝醇 | 来源:发表于2019-03-07 20:56 被阅读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()

相关文章

  • ES5-扩展

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

  • JavaScript学习 之 版本

    目录 引言 ECMAScript ES5-/-ES6-/-ES7 babelbabel-clibabel-node...

  • ES5-严格模式

    除了正常运行模式,ES5添加了第二种运行模式:"严格模式"(strict mode)。 目的 消除Javascri...

  • ES5-数据劫持

    VUE双向数据绑定核心功能由Observer、Compile、Watcher三部分实现,其中Observer部分功...

  • Swift 扩展

    扩展UIView 扩展String 扩展UIColor 扩展UIButton 扩展String 扩展UIImage...

  • ES5-面向对象(Object-Oriented, OO)

    1. 对象 在JavaScript中,一个对象可以理解为一组无序属性的集合。每个对象都是基于一个引用类型创建的,引...

  • ES6扩展

    字符串的扩展正则的扩展数值的扩展数组的扩展函数的扩展对象的扩展

  • ES6扩展

    字符串扩展 正则扩展 数值扩展 函数扩展 对象扩展 数组扩展 字符串扩展 模版字符串 部分新的方法 padStar...

  • Swift--扩展

    扩展的概念 扩展计算属性 扩展方法 扩展构造函数 扩展下标 扩展的概念 在Swift中可以使用一种扩展机制,在原有...

  • 从Java到Kotlin(六)

    扩展与委托 目录 1.扩展 1.1 扩展函数 1.2 扩展属性 1.3 扩展伴生对象 1.4 扩展的作用域 2.委...

网友评论

      本文标题:ES5-扩展

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