初始化日期对象,需要手工在析构函数中释放

作者: 前端  发布:2019-09-02

new Date()问题在ie8下面的处理方法,dateie8

<script> 
function getDays(strDateStart,strDateEnd){ 
  var strSeparator = "-";  
  var oDate1; var oDate2; var iDays; 
  oDate1= strDateStart.split(strSeparator); 
  oDate2= strDateEnd.split(strSeparator); 
  var strDateS = new Date(oDate1[0], oDate1[1]-1, oDate1[2]); 
  var strDateE = new Date(oDate2[0], oDate2[1]-1, oDate2[2]); 
  iDays = parseInt(Math.abs(strDateS - strDateE ) / (1000*24*3600)) 
  return iDays ; 
}  
alert(getDays('2014-02-26','2014-08-18')) 
</script>

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)

延迟选项卡:
          注意:
                   this:当前发生事件元素
          定时器里面不能用this(解决方法:箭头函数)   this会变成window
         
          解决方法:
               var _this=this;
文字时钟:
 日期对象  里面装着日期时间
 var oDate = new Date()
 获取年    var oDate=oDate.getFullYear();
 获取月    var oDate=oDate.getMonth() 1;      比当前月小1,需要 1  是0开始
 获取天    var oDate=oDate.getDate();
 获取星期  var oDate=oDate.getDay();       星期日是0       也是从0开始
 日 一 二 三 四 五 六
 0   1  2  3  4  5  6
 获取小时  var oDate=oDate.getHours();
 获取分钟  var oDate=oDate.getMinutes();
 获取秒数  var oDate=oDate.getSeconds();
图片时钟:
 var str = 'abc';
  str[下标];  不兼容ie6,7
 字符串下标
 str.charAt(下标) 获取某一位置的字符
事件:
 onmouseover
 onmouseout
 onclick
 onchange
 onmousedown  鼠标按下
 onmouseup    鼠标抬起
倒计时:
    var oDate=new Date();
 oDate.getTime(); 时间戳
 格林威治时间戳
 1970年1月1日  0:0:0:0
 从1970年1月1日0点0分0秒0毫秒一直到现在所经历过的毫秒数
 1437459829777
 获取到目标日期的时间戳(先设置,在获取)
 获取到当前的时间戳
  时间差=目标时间戳-当前时间戳
 时间差(ms)
   时间差(s) = parseInt(时间差/1000);
 日期对象设置
  设置年月日  oDate.setFullYear(y,m,d);
     比现实月小1,设置的时候月份要-1
 设置时分秒毫秒
          oDate.setHours(h,m,s,ms);

什么是Date:

IE8下 setDate()问题 点开浏览器提示对象不支持 这是什问题,要怎解决

你先试下能不能找到 cal所代表的网页 或插件

最好用document.getElementById

在检查下父窗口能不能得到

先逐步判断再做下一步  

字符串常用方法

自动播放选项卡:
 选项卡重用加定时器
  now=this.index
 tab()
qq提示资料框:
          事件连等

   用于处理日期和时间

new Date();的问题

java中会对不用的对象自动销毁的,如果是C 的话,需要手工在析构函数中释放空间。  

Date()问题在ie8下面的处理方法,dateie8 script function getDays(strDateStart,strDateEnd){ var strSeparator = "-"; var oDate1; var oDate2; var iDays; oDate1= strDateSt...

通过下标找字符串

  • 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"

  例:oDate=new Date()  

字符串转数组

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

        oTime=oDate.Date()

字符串转大小写

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

   初始化日期对象

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

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

    var oDate = new Date("2015/08/22");

小题:把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)

   oDate.getDate()      返回一个月中的某一天 (1 ~ 31)

日期对象

  • 定义一个日期对象 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()

   oDate.getDay()       返回一周中的某一天 (0 ~ 6)

细节

  • 时钟 日期对象 定时器
    • 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()
    • 秒转换:把秒转成 天,时,分,秒 ; 主要用到%的思想;
    • 注意:当秒位负数的时候,需要做处理;

   oDate.getMonth()  返回月份 (0 ~ 11)

判断

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

   oDate.getFullYear() 以四位数字返回年份

数字如何转为字符串

  • '' num

    var str=123
    undefined
    '' 123
    "123"
    

获取时间方法:

   oDate.getHours()    返回当前小时(0-23)

   oDate.getMinutes() 返回当前分钟 (0 ~ 59)

   oDate.getSeconds()       返回当前秒(0 ~ 59)

   oDate.getMillisenconds()  返回当前毫秒(0 ~ 999)

   oDate.getTime()       返回1970年1月1日至今的毫秒数

设置时间方法:

   oDate.setDate()      设置月中的某一天 (1 ~ 31)

   oDate.setMonth()  设置月份 (0 ~ 11)

   例:oDate.setMonth(9);   alert(oDate.getMonth())

    oDate.setFullYear()设置年份(四位数)

设置时间方法:

   oDate.setHours()             设置小时(0-23)

   oDate.setMinutes()          设置分钟 (0 ~ 59)

   oDate.setSeconds()          设置秒(0 ~ 59)

   oDate.setMillisenconds()  设置毫秒(0 ~ 999)

   oDate.setTime()                 设置1970年1月1日至今的毫秒数

Date.parse("2015-10-24")

将字符串转换成1970年距离指定日期的毫秒数

转换格式默认支持2015-10-24或2015/10/24

setTimeout()

   用以指定在一段特定的时间后执行某段程序。

    格式:[定时器对象名]= setTimeout(“函数名/匿名函数”,毫秒)

    功能:执行<表达式>一次。

clearTimeout():终止定时器

    用以清除定时器。

    格式:setTimeout(定时器名称)

    功能:清除定时器。

setInterval()

    用以指定在一段特定的时间后执行某段程序。

    格式:[定时器对象名]= setTimeout(“函数名/匿名函数”,毫秒)

    功能:重复执行<表达式>,直至窗口、框架被关闭或执行clearInterval。

clearInterval():终止定时器

    用以清除定时器。

    格式:setInterval(定时器名称)

    功能:清除定时器。

setTimeout()与setInterval()的区别

    一个只执行一次,一个执行多次

本文由9159.com发布于前端,转载请注明出处:   初始化日期对象,需要手工在析构函数中释放

关键词: 9159.com