zoukankan      html  css  js  c++  java
  • ES6学习一--ES5

    JSON对象方法

    1.将JSON字符串转换成js对象(IE7及以下不支持)(IE7及以下兼容需其他手段)

    JSON.parse()

    2.将js对象转成JSON字符串

    JSON.stringify()

    3.js对象深度克隆

    JSON.parse(JSON.stringify(arrTwo))

    Object对象方法

    1.Object.create(prototype,[descriptors])

      作用:以指定对象为原型创建新的对象

      为新的对象指定新的属性,并对属性进行描述

        -value:指定值

        -writable:标识当前属性是否科修改,默认false

        -configurabale:标识当前属性是否可以被删除,默认false

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

    var obj={
            usename:"kobe",
            age:18
        }
    
        var obj1=Object.create(obj,{
            sex:{
                value:"男",//
                writable:true,//是否可修改
                configurable:true,//是否可删除
                enumerable:true,//是否可枚举
            }
        })
    
        obj1.sex="女"
        delete obj1.sex
        for (var i in obj1){
            console.log(i)//属性值
        }

    2.Object.defineProperties(object,descriptors)

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

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

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

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

    var obj={
            usename:"kobe",
            age:18
        }
    
        Object.defineProperties(obj,{
            fullIfo:{
                get:function () {
                    return this.usename+this.age
                },
                set:function (data){//监听扩展属性,当扩展属性发生变化的时候会自动调用
                    console.log(data)
                }
            }
        })
    
        console.log(obj)

    3.对象本身方法

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

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

    var obj={
      get fullName(){
      }  
    }

    数组的扩展

    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的值

    CALL,APPLY,BIND用法详解

    1.Function.prototype.bind(obj)

      作用:将函数内的this绑定为obj,并将函数返回

    2.bind()/call()/apply()区别

    传入参数的形式不同
    foo.call(obj,a,b)//直接从第二个参数开始一次传入
    foo.apply(obj,[a,b])//最多二个参数且第二个参数以数组的形式传递
    call()和apply()会立即调用当前函数
    
    foo.bind(this),绑定完后不会立即调用,而是将函数返回
                        传参方式和call()一样
            bind(this)中this指向的是父级执行上下文中的this
  • 相关阅读:
    Non Clustered Confluence: Database is being updated by another Confluence instance
    晦涩时光 浮光掠影
    迷雾重重 星光闪耀
    navicat 查询窗口快捷键
    sublime使用技巧记录
    mvn 手动打包并放置到本地仓库下
    git bash 风格调整(显示中文)
    windows控制台(console)乱码
    java调用第三方命令,process.waitfor()挂起(你不知道的坑)
    shell问题-报错即退出
  • 原文地址:https://www.cnblogs.com/nailc/p/9430781.html
Copyright © 2011-2022 走看看