美文网首页
字符串常用方法与倒计时

字符串常用方法与倒计时

作者: 该不会是个傻子吧 | 来源:发表于2017-07-12 22:26 被阅读0次

this的总结

  • 当元素身上的事件被触发的时候,会执行一个函数,函数中的this指向当前这个元素
  • 自执行函数中的this,永远指向window
  • 当函数被调用的时候,点前面是谁,this就是谁;如果前面没有点,说明这个函数被window调用,this就是window
  • 回调函数中的this一般都是window,如果需要我们可以改变回调函数中的this指向
回调函数:当把函数的定义阶段,作为参数,传给另一个函数的时候,这个函数就是回调 callback\cb
ary.sort(function(){})
ary.forEach(function(){},thisArg)
ary.map(cb,thisArg)

数组的常用方法

  • 增加,删除和替换
    • push() 末尾增加一项
    • pop() 末尾删除一项
    • shift() 开头删除一项
    • unshift() 开头增加一项
    • splice()
      • splice(1)/splice(1,3)删除
      • splice(2,0,'xxx') 增加
      • splice(2,1,'xxx') 替换
  • 克隆和拼接
    • concat() 数组拼接
    • slice(n,m) 从索引n开始克隆到索引m包前不包后
  • 翻转和排序
    • reverse() 数组翻转
    • sort(function(a,b){return a-b}) 排序
  • 数组转字符串
    • toString()
    • join('拼接形式') 配合eval可以进行数学运算
  • 常用但不兼容
    • indexOf()
      • ary.indexOf(newAry(i)); 没有找到返回-1 找到返回索引
    • forEach(callback,thisArg) 无返回值
      • callback(item,index,input);
    • map() 有返回值

Math常用方法

  • Math.round() 四舍五入取整
  • Math.random() 取0~1之间的随机小数 不包含1
    • Math.round(Math.random()*(m-n)+n);取n~m之间的随机整数包含m
  • Math.floor() 向下取整
  • Math.ceil() 向上取证
  • Math.abs() 取绝对值
  • Math.pow(2,3) 幂次方
  • Math.sqrt() 开平方
  • Math.max() 最大值
  • Math.min() 最小值

数组去重

  • 双重循环
  • 先sort排序,相邻两项进行对比
  • 创建新数组,indexOf判断是否有某个值,没有进行插入
  • 利用对象不重名特性
  • 利用对象不重名特性 for循环给对象相同属性名的进行次数记录,for...in循环拿到属性名

插排

  • 1、先从ary中取出一个left数组
  • 2、遍历ary数组,与left从后往前进行比较。如果比left小,继续向前比;比某个值大就插入到这个值的下一项的前面;break;如果比所有的都小,那就插入到left数组的第一个

快排

  • 1、先拿到中间索引——拿到中间项centerValue
  • 2、创建left,right两个空数组
  • 3、循环数组每一项与centerValue进行比较,小的放left,大的放right
  • 4、利用递归进行自己调用自己
  • 5、当ary.length<=1停止拆分

冒排

1、两重循环,第一重循环代表的是轮数,第二重循环代表的次数,比较的次数在一次次的减少;
2、 每次比较的时候,都拿当前项跟后一项进行比较,如果比他大,交换位置;

字符串常用的方法

通过下标找字符

  • charAt() 下标找字符
  • charCodeAt() 下标找字符对应的字符编码

通过字符找下标

  • indexOf() 从前往后找,找到返回对应索引,没找到返回-1
  • lastIndexOf() 从后往前找

字符串的截取和查找 (原字符串不发生改变)

  • str.slice(n,m) 从索引n找到索引m,包前不包后;可以取负值
  • str.substring(n,m)从索引n找到索引m,包前不包后
  • str.substr(n,m) 从索引n开始,截取m个;

字符串转数组

  • split('切割形式')

字符串转大小写

  • toUpperCase()转大写
  • toLowerCase()转小写

字符串跟正则配合的方法

  • replace(字符串/正则,替换成什么) 字符串替换
  • search(查找的字符串/正则)
  • split(切割形式/正则)
  • match(字符串/正则) 把捕获的内容,以数组的形式返回;
    • 捕获一个,返回数组(item,index,input);
    • 捕获不到,返回null

i++ 和 ++i

  • i++ 先运算 再自增
  • ++i 先自增 再运算

定时器

  • setInterval(clearInterval) 隔一段时间触发一次
  • setTimeout(clearTimeout) 只执行一次

日期对象

  • 定义一个日期对象 var oDate=new Date()
  • 获取现在距离 1970年1月1日 00:00:00 的毫秒数
    • 格林尼治时间 oDate.getTime();
  • oDate.getFullYear() 年
  • oDate.getMonth()+1月
  • oDate.getDate()日
  • oDate.getDay() 星期日是0
  • oDate.getHours()时
  • oDate.getMinutes();分
  • oDate.getSeconds();秒

倒计时

  • 设置未来时间 new Date('2018/10/12 18:00:00')
    • 求毫秒差
      • new Date('2018/10/12 18:00:00')-new Date()
      • new Date('2018/10/12 18:00:00').getTime()-new Date().getTime()
    • 秒转换:把秒转成 天,时,分,秒 ; 主要用到%的思想;
    • 注意:当秒位负数的时候,需要做处理;

相关文章

网友评论

      本文标题:字符串常用方法与倒计时

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