微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

浅拷贝、深拷贝与闭包,字符串,数组常用方法

目录

浅拷贝与深拷贝

闭包

 

字符串常用方法

数组常用方法

对象常用方法

改变this指向的三种方法

水仙花术

 

求约数

 

 


浅拷贝与深拷贝

闭包

    1. 内部函数可以访问外部函数的值,该值会长期存储在内存中,因此产生了闭包
    2. 闭包是一种保护私有变量的机制,在函数执行时形成私有的作用域,保护里面的私有变量不受外界干扰。 直观的说就是形成一个不销毁的栈环境, 闭包实现了传递值功能调用
    3. 优点:避免变量污染全局,变量的叠加使用
    4. 缺点:因为常驻内存,如果有大量闭包不被释放,容易造成内存溢出

字符串常用方法

  1. 获取字符串长度:length
  2. 获取字符串指定位置的值:charat() 方法获取到的是指定位置的字符
  3. 查询是否包含某字符:indexOf、lastIndexOf、includes、search。
  4. 字符串拼接:出了使用+号,应该使用concat
  5. 字符串分割成数组:split
  6. 截取字符串:substr()、substring()和 slice()
  7. 字符串大小写转换:toLowerCase转小写、toupperCase转大写
  8. 字符串转数字:parseInt转整数、parseFloat转小数

数组常用方法

    1. 合并数组:concat
    2. 指定字符数组转字符串:join
    3.  添加元素操作:push()尾部 和unshift()头部 
    4. shift() & pop() 删除元素操作
    5.  sort() 数组排序,改变原数组
    6.  reverse() 反转数组,改变原数组
    7. slice() 截取数组,不改变原数组     //截取: 第2个参数是下标
    8.  splice() 更新数组,改变原数组    //替换:第2个参数是length
    9.  indexOf() & lastIndexOf() 索引方法,不改变原数组
    10.  find() & findindex() 根据函数内的判断返回找到的数组内的第一个元素。不改变原数组。 (es6新增方法
    11.  forEach()、map()、filter()、some()、every() 迭代方法,不改变原数组。
    12.  reduce()、reduceRight() 归并方法,不改变原数组
    13.  keys()、values()、entries() 遍历数组方法,不改变原数组。 (es6新增方法
    14.  includes() 不改变原数组。 (es6新增方法

对象常用方法

  • 对象合并

    Object.assgin()

  • 对象解构

  • 对象转数组

改变this指向的三种方法

1. call(this,uname,age) 立即执行

2. apply(this,[uname,age]) 立即执行

3. bind(this,uname,age) 不会立即执行

水仙花术

<script>
    // 5**3    Math.pow(5,3)

    function fun() {
      for (var i = 100; i < 1000; i++) {
        //分别取百位、十位和个位的数字
        var sum = parseInt(i / 100) ** 3 + parseInt(i / 10 % 10) ** 3 + parseInt(i % 10) ** 3
        if (sum == i) {
          console.log(i)
        }

      }
    }

    fun()


  </script>

求约数

<script>
    /*用户输入一个数字,在控制台中列出它的所有约数。*/
    // function fun(n) {
    //   for (i = 1; i <= n; i++) {
    //     if (n % i == 0) {
    //       console.log(i)
    //     }
    //   }

    // }

    // fun(12)
    // //1 2 3 4 6 12


    /**安全数**/
    function fun() {
      for (var i = 1; i <= 60; i++) {
        if (i % 7 != 0 && i % 10 != 7) {
          console.log(i)
        }
      }
    }

    fun()
 


  </script>

原文地址:https://www.jb51.cc/wenti/3288054.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐