• js中属性的特性(getter/setter)


    除了包含名字和值意外属性还包括一些标识它们 可写/可枚举/可配置的特性:

    1 可以通过这些API给圆形对象添加方法,并将它们设置成不可枚举的,这个让它们看起来像内置的方法.

    2 可以通过这些API 给对象定义不能修改或删除的属性, 借此."锁定"这个对象.

      我们可以将存取器属性的getter和setter防范看成属性的特性.

      也可把数据属性的值看成属性的特性.

      可以认为一个属性包含一个名字 和4 个特性 --->[ {值: value},{可写性: writable},{可枚举: enumerable},{可配置性: configurable},]

      存取器没有值 和 可写性.

    Object.getOwnPropertyDescriptor({x:1}, "x"):
    返回: 
    var  o = {};
            Object.defineProperty(o, "x", {
                value: 222,
                writable: true,
                enumerable: false,  // bu可枚举
                configurable: true
            });
            console.log(o.x);   //  222
            console.log(Object.keys(o));   // []
    如果把 writable: false,
    则 普通修改  o.x = 1;   console 以后  结果还是 222 
    但是属性依然是可配置的 
    可以通过  
       Object.defineProperty(o, "x", {
                value: 1,
                writable: false,
                enumerable: false,  // bu可枚举
                configurable: true
            });
    则结果 为 1
     
    ES5中新增的一些数组的操作方法(ES3中简单的pop() push() 就暂时不做解释了)
    1 forEach()  从头至尾遍历数组,尾每个元素调用指定的函数,  参数  function(① 数组元素, ② 元素的索引, ③ 数组本身){}, 
     
    2 map() 将调用的数组每个元素传递给指定的函数 big返回一个数组,它 包含该函数的返回值  array.map(function(item, index, array) { return })
     
    3 filter() 返回的数组元素是调用的数组的一个子集,传递的函数是用来逻辑判定的 改函数返回 true或者false 调用判断函数就行前面两个方法一样, 如果返回true或能转化为true的值,那    么传递给判定函数的元素就是这个子集的成员,它将被添加到一个作为返回值的数组中;
     
    4 every() 和some() 是数组的逻辑判定,他们对数组元素应用指定的函数进行判定, 返回true或者 false
      var ary = [5, 4, 3, 2, 1];
      ary.every(function (x) { return x < 10})   //  =>true  所有的值都 < 10  成立  有一个错 就返回false     some 就是有一个成立 就返回true
     
    5 reduce() 和reduceRight() 使用指定的函数将数组元素进行组合,生成单个值, 这在函数式编程中是常见的操作, 也可以称为 "注入" 和 " 折叠"
     
    var ary = [5, 4, 3, 2, 1];
      var sum = ary.reduce(function(x, y) { return x +y}, 0)  // 数组求和
     
      var product = ary.reduce(function(x, y) { return x *y}, 1)  // 数组求积
      
      var max = ary.reduce(function (x, y) {return (x> y)? x:y;})  // 求最大值
    reduce() 需要两个参数,第一个是执行化简操作的函数, 化简函数的任务就是用某种方法把两个值组合或者化简为一个值, 并返回化简后的值.[未完待续...]
     
     
     
  • 相关阅读:
    大型网站技术架构(八)--网站的安全架构(转)
    大型网站技术架构(七)--网站的可扩展性架构(转)
    大型网站技术架构(六)--网站的伸缩性架构(转)
    大型网站技术架构(五)--网站高可用架构(转)
    大型网站技术架构(四)--网站的高性能架构(转)
    HTML中的空元素
    jetbrains 全家桶,Pycharm激活码,PHPStorm激活码,WebStorm激活码,Goland激活码,Clion激活码,intellij idea激活码(亲测可用)
    legend3---22、通过html,可以使php、vue、jquery、js达成完美的配合
    IlluminateDatabaseQueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
    template cannot be keyed. Place the key on real elements instead.
  • 原文地址:https://www.cnblogs.com/stevenzhangcy/p/10599985.html
Copyright © 2020-2023  润新知