zoukankan      html  css  js  c++  java
  • 前端第八天

    循环绑定的变量污染:

    在进行事件循环变量绑定时,由于函数体内部代码并未执行,在绑定结束后,调用函数时,赋予的部分变量失去意义,

    解决方案:给页面元素添加一个任意属性

    事件与已有的函数进行绑定:只需要将函数地址绑定给事件,事件绑定完成将会有系统在特定情况下自动触发

    对象(字典)的增删改查:

    对象元素格式为字符串,key默认为字符串类型

    可以使用.访问属性:dict.sb;

    dict.sa="SB";

    当对象拥有sa属性时,表现为更改sa属性的值,当对象没有sa属性时,表现为增加sa属性并赋值

    使用delete方法删除对象属性:delete dict.sa;

    js对象可以随意添加属性

    Math类的方法:

    abs()绝对值

    max()为参数中的最大值

    random()方法返回[0,1)之间的数;

    得到任意区间的正整数[m,n];

    function rand(m,n){

    return parseInt(Math.random() * (m-n+1)) + min;

    }

    字符串操作:

    var sb = "sbsbbs"

    1.指定索引下的字符:

    sb.charAt(n);

    2.判断元素是否存在字符串中:-1位不存在,其他为在字符串中的索引

    sindexOf('s');返回的是第一个检索到的元素的位置

    s.lastIndexOf('b');返回值为最后一次出现的索引位置

    3.替换:

    var sbnm = s.replace("s","ABS");

    由于字符串为不可变类型,因此替换将得到一个新字符串,需要接受返回值

    4.裁剪:slice(m,n);意为从索引m开始截取到索引n之前

    同样得到的是新字符串

    5.拆分数组

    var sss = sb.split(' ');使用空格切分字符串

    数组操作:

    arr = [1,2,3,4,5]

    1.反转:

    arr.reverse();

    将数组元素转换

    2.排序:

    arr.sort();(可能按照ascii码值排序)

    3.判断元素是否存在(-1表示不存在,其他为该元素索引)

    arr.indexOf(5);

    4.拼接成字符串:(join方法得到的是字符串)

    var ss = arr.join('@');

    5.过滤器(只保留符合条件的结果)

    var newArr = arr.filter(function (ele){//回调函数的回调次数由数组元素的个数决定

    //filter回调三个参数:ele.index,sourcerr

      if(ele 条件表达式){

        return true;//满足过滤条件返回true

      }

      return false;//不满足过滤条件返回false

    })

    满足条件的元素自动添加到新数组中

    过滤器原理:

    arr.filter (fn){

      var newArr = [ ];

      for (var i=0;i<this.length;i++){

        var res = fn(this.[i],i,this);

        if (res == true){

          newArr.push(this[i]);

      }

      return newArr;

    }

    数组查询

    arr[index]//根据索引

    修改:

    arr[index]=m;//重新赋值

    增加:

    从末尾添加:push(m);

    从首尾添加:unshift(m);

    删除:

    pop();从末尾删除

    shift():删除首位

    splice(begin,length,else);

    var arr = [1,2,3,4,5]

    begin为开始索引,length为操作数据长度,else为替换的数据(可省略)

    使用splice方法增加:即将操作长度置0,且可以在指定位置添加多个数据

    如:arr.splice(0,0,1,2,3)表示在数组首位添加三个元素

    替换:即为将length置为1或其他,else后跟替换的数据删除即为将else置空

  • 相关阅读:
    【题解】NOIP2016换教室
    【题解】平面最近点对(加强版)
    [atcoder002E] Candy Piles [博弈论]
    [AGC002D] Stamp Rally [并查集+整体二分]
    [ACG001E] BBQ hard [dp]
    [BJOI2006][bzoj1001] 狼抓兔子 [最小割]
    [usaco jan 09] 安全路径 travel [最短路径树]
    [usaco jan 09] 气象牛 baric [dp]
    [poj1741] tree [点分治]
    [NOI2009] 植物大战僵尸 [网络流]
  • 原文地址:https://www.cnblogs.com/suncunxu/p/10315645.html
Copyright © 2011-2022 走看看