美文网首页
js第五天笔记

js第五天笔记

作者: 固执_i | 来源:发表于2017-07-12 21:38 被阅读0次

this的总结-不全:

1、 当元素身上的事件被触发的时候,会执行一个函数,函数中的this指向当前这个元素
2、 自执行函数中的this,永远都是window
3、 当函数被调用的时候,点前面是谁,this就是谁; 如果前面没有点,说明这个函数被window调用,this就是window;
4、 回调函数中的this,一般都是window;如果需要的话,我们可以改变回调函数中的this指向;

回调函数:当把函数的定义阶段,作为参数,传给另一个函数的时候,这个函数就是回调; 回调简称:callback /  cb
ary.sort(function(){})
ary.forEach(function(){},thisArg)
ary.map(cb,thisArg)

字符串常用方法

通过下标找字符串

  • charAt() 通过下标找字符
  • charCodeAt() 通过下标找到字符的unicode编码;
    ...
    var str='hello';
    var str1=new String('goodbye')
    undefined
    str.cha
    undefined
    str.charAt(2)
    str1.charCodeAt(2)
    111
    ...

通过字符找下标;

  • indexOf() 从前往后找,找到返回对应内容的索引,找不到返回-1;
  • lastIndexOf() 从后往前找,找到返回对应内容的索引,找不到返回-1;
    ...
    var str='green';
    undefined
    str.indexOf('e')
    2
    str.lastIndexOf('e')
    3
    str.indexOf('o')
    -1
    ...

字符串的截取和查找

  • str.slice(n,m) 从索引n找到索引m,包前不包后;slice可以取负值;
  • str.substring(n,m) 从索引n找到索引m,包前不包后;
    var str='wang'
    undefined
    str.slice(0,1)
    "w"
    str.slice(0,-2)
    "wa"
    • slice和substring的功能一样,但是slice可以取负值,而substring不能取负值;
  • str.substr(n,m) 从索引n开始,截取m个;
    var str='wang'
    undefined
    str.substr(1,3)
    "ang"

字符串转数组

  • split(切割形式)
    var str='wang'
    undefined
    str.split('')
    (4) ["w", "a", "n", "g"]

字符串转大小写

  • toUpperCase() 转大写;
  • toLowerCase() 转小写;
    var str='wang'
    undefined
    str.toUpperCase()
    "WANG"

字符串跟正则配合的方法;

  • replace(要替换的字符串/正则,替换成什么/cb的返回值) 字符串替换
  • search(查找的字符串/正则)
  • split(切割形式/正则)
  • match(字符串/正则) 可以把捕获到的内容,以数组的形式返回;如果是捕获一个,返回的数组有三项:1)item 2)index 3)input
    如果捕获到一堆,把所有捕获到的内容,以数组的形式返回;他主要用来配合正则
    • match捕获不到的时候,返回的null;

小题:把str="zhongguo"改成"Zhongguo"用字符串常用方法来实现;

  • 思路1: str.slice(0,1).toUpperCase()+str.slice(1)
  • 思路2: str.charAt(0).toUpperCase()+str.slice(1)
  • 思路3: str=str.replace('z','Z');

i++和++i的区别:

  • i++ 先运算后++;++只是针对变量自身的累加,跟运算没关系;
  • ++ i 先++后运算;++参与了运算;

定时器

  • setinterval(clearInterval)隔一段时间触发一次
    var timer=setInterval(function () {
    if(i>=6){
    //如果i》=6的时候,关闭定时器
    clearInterval(timer);
    return;//阻断程序执行
    }
    alert(i++)
    },100)
  • settimeout(cleartimeout)时间到的时候只执行一次
    var i=0;
    var timer=setTimeout(function () {
    clearTimeout(timer);
    alert(i++)
    },100)

日期对象

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

细节

  • 时钟 日期对象+定时器
    • 1位数转成两位数
    • 一秒钟页面空白的处理;
  • 倒计时
    • 设置未来时间 new Date('2017/10/01 00:00:00')
    • 求毫秒差
      • new Date('2017/10/01 00:00:00')-new Date()
      • new Date('2017/10/01 00:00:00').getTime()-new Date().getTime()
    • 秒转换:把秒转成 天,时,分,秒 ; 主要用到%的思想;
    • 注意:当秒位负数的时候,需要做处理;

判断

  • if...else....
  • switch。。case
  • 三目 也叫做 三元表达式
    • 语法: 条件? 执行语句1 : 执行语句2;

数字如何转为字符串

  • ''+num

    var str=123
    undefined
    ''+123
    "123"
    

相关文章

网友评论

      本文标题:js第五天笔记

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