日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS一起学05:Date对象、封闭空间、函数传参和封装、获取非行间样式、字符串操作

發(fā)布時間:2025/6/15 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS一起学05:Date对象、封闭空间、函数传参和封装、获取非行间样式、字符串操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、Date對象 1. 獲取 oDate.getFullYear()?獲取年份 oDate.getMonth()+1??獲取月份 0-11----->1-12 oDate.getDate()?獲取日 1-31 var arr=['日','一','二','三','四','五','六']; var oDate=new Date();?? oDate.getHours()?獲取小時 ? ?oDate.getMinutes()?獲取分 ? ?oDate.getSeconds()? ? ? alert(oDate.getMillisecons()); ? //毫秒 oDate.getDay()?獲取星期幾 0-6 ? ? 0:星期天 例:數(shù)碼時鐘 ? ??(1)獲取系統(tǒng)時間----Date 對象----getHours、getMinutes、getSeconds (2)??顯示系統(tǒng)時間----字符串連接、空位補(bǔ)零 (3)?字符串[下標(biāo)]獲取一個字符,不兼容IE6/7,所以,設(shè)置圖片路徑。charAt方法----字符串.charAt(下標(biāo))兼容 2. 時間戳 oDate.getTime()----從1970年1月1日到現(xiàn)在的毫秒數(shù) 61秒= parseInt61/60 分 61%60 秒 3.?設(shè)置 (1)setFullYear(年,月,日 )?年:必填 月日:可選-----獲取完整的年份 setYear(); 獲取年 (2)setMonth(月,日)?月:必填 (3)setDate(日) ? ? ? ? ? ? ? ??oDate.setDate(31); ?//如果本月只有30天,會直接到下月第一天 ? ? ? ? ? ? ? ? oDate.setDate(0); ?上個月最后一天 ? ? ? ? ? ? ? ? oDate.setDate(30); ? ? ? ? ? ? ? ? alert(oDate.getDay()); 本月最后一天星期幾 oDate.setMonth(oDate.getMonth()+1); //設(shè)置下個月1號 // 因?yàn)楸驹率?1月,getMonth()獲取到的是10,所以要獲取到11才是下個月 oDate.setDate(0); alert(oDate.getDay()); (4)setHours(小時,分,秒,毫秒)?后面三個可選 例子:本月第一天是周幾,本月共有多少天 var oDate=new Date(); oDate.setDate(1); var week=oDate.getDay(); alert('本月第一天是周'+week); oDate.setMonth(oDate.getMonth()+1); oDate.setDate(0); var day=oDate.getDate(); alert('本月的總天數(shù)是:'+day); 例:倒計時 window.οnlοad=function(){ var oSpan=document.getElementsByTagName('span')[0]; tick(); setInterval(tick,1000); function tick(){ var oDate=new Date(); ?? var oDateTarget=new Date(); oDateTarget.setFullYear(2014,11,1); ? //注意此處月份應(yīng)設(shè)置比目標(biāo)小1 oDateTarget.setHours(0,0,0,0); var s=parseInt((oDateTarget.getTime()-oDate.getTime())/1000); var d=parseInt(s/86400); s%=86400; var H=parseInt(s/3600); s%=3600; var M=parseInt(s/60); s%=60; oSpan.innerHTML="距離2014年12月1日"+d+"天"+H+"時"+M+"分"+s+"秒"; } } date對象的另外的用法-----設(shè)置時間可以進(jìn)位、退位 二、封閉空間 1. 定時器中的括號問題: setInterval(show,1000); ? ?//此處的show不能加括號,如果加則變成立刻執(zhí)行,執(zhí)行完之后,返回undefined function show(){ alert(1); } js中語法規(guī)范:大括號不能直接跟小括號,如下: function show(){ alert(1); }() 但是,如果這樣即可: (function (){ alert(1); })() ? ?/相當(dāng)于立刻執(zhí)行這個函數(shù)。如果后面再加show(); 則會報錯 函數(shù)每調(diào)用一次,就復(fù)制一份,就執(zhí)行一次 2.?封閉空間:多人配合時,避免函數(shù)重名問題 ? ? (fn1)(); ?//立即執(zhí)行的匿名函數(shù) 例一:兩個局部變量a不會重名,在兩個不同的作用域下 function fn1(){ ? ? var a=44; ? ? alert(a); } fuction fn2(){ ? ? var a=55; ? ? alert(a); } 例二: (function(){ ? ? var a=55; ? ? alert(a); })(); ? //立即執(zhí)行的匿名函數(shù) ? 封閉空間 ? ?這個函數(shù)只能用一次 例三: var a=12; function aaa(){ ?a=5; } aaa(); alert(a); (function bbb(){ ?a=34; })(); alert(a); ? ? //先后彈出5、34 利用封閉空間寫選項(xiàng)卡 var oBox=document.getElementById('box'); var aBtn=oBox.getElementsByTagName('input'); var aDiv=oBox.getElementsByTagName('div'); for(var i=0;i<aBtn.length;i++){ ? ? (function(index){ ? ? ? ? aBtn[i].οnclick=function() {? ? ? ? ? ? ? for(var i=0;i<aDiv.length;i++) {? ? ? ? ? ? ? ? ? ?aBtn[i].className=''; ? ? ? ? ? ? ? ? ?aDiv[i].className=''; ? ? ? ? ? ? }; ? ? ? ? ? ? this.className='active'; ? ? ? ? ? ? aDiv[index].className='active'; ? ? ? ?};? ? ? })(i); } //function fn(index){ }; ? ? fn(i); 同(function(index){ })(i); 利用封閉空間寫選項(xiàng)卡----封裝 var oBox=document.getElementById('box'); var aBtn=oBox.getElementsByTagName('input'); var aDiv=oBox.getElementsByTagName('div'); tab(0); tab(1); tab(2); function tab(index){ ? ? ? ? aBtn[i].οnclick=function() {? ? ? ? ? ? ? for(var i=0;i<aDiv.length;i++) {? ? ? ? ? ? ? ? ? ?aBtn[i].className=''; ? ? ? ? ? ? ? ? ?aDiv[i].className=''; ? ? ? ? ? ? }; ? ? ? ? ? ? this.className='active'; ? ? ? ? ? ? aDiv[index].className='active'; ? ? ? ?};? ? ? } 求和函數(shù): (1)參數(shù)數(shù)量不固定的時候可用 (2)參數(shù)數(shù)組不是一個真正的數(shù)組,所以它不能用數(shù)組的方法 window.οnlοad=function(){ ? ? function fn(){ ? ? ? ? var num=0; ? ? ? ? for(var i=0;i<arguments.length;i++){ ? ? ? ? ? ? num+=arguments[i]; ? ? ? ? } ? ? } ? ? fn(222,33,456); } 、函數(shù)傳參和封裝 1.參數(shù)的基本知識: (1)參數(shù)可以省 可以不傳 (2)在調(diào)用函數(shù)的括號里傳 在定義函數(shù)的括號里收 (3)參數(shù)名可以自定義 不用帶引號 (4)可以傳多個參數(shù) 中間用逗號分隔? (5)可以傳多類型 2. 可變參(不定參):arguments 參數(shù)的個數(shù)可變,參數(shù)數(shù)組。參數(shù)數(shù)組, ?有下標(biāo),有l(wèi)ength,但并不是真正的數(shù)組,所以它不能用數(shù)組的方法。 3. 例1:求和-----求所有參數(shù)的和(用arguments) 例子: function sum(){ //alert(arguments.length); for(var i=0; i<arguments.length; i++){ result=0; result+=arguments[i]; } return result; } alert(sum(12,6,8)); 4. 例2:CSS函數(shù) (1)判斷arguments.length (2)給參數(shù)取名,增強(qiáng)可讀性 ?四、獲取非行間樣式(不能用來設(shè)置): (1)obj.currentStyle[attr]-----IE瀏覽器支持 (2)getComputedStyle(obj,false)[attr]------Chrome、fire fox、IE9、IE10 ···false處,可以隨便放任何值,如果不放則不兼容firefox低版本。如果不寫第二個參數(shù),不兼容firefox低版本;放false顯得專業(yè)而已 只能取單一樣式,不能取復(fù)合樣式 獲取樣式:css(oDiv,'width') 設(shè)置樣式:css(oDiv,'width','200px') 例一:獲取樣式封裝 window.οnlοad=function(){ var oBox=document.getElementById('box'); oBox.οnclick=function(){ var w=parseInt(getStyle(this,'width')); this.style.width=w+100+'px'; var oSpanH=getStyle(document.getElementById('s1'),'height'); } } function getStyle(obj,attr){ ?return obj.currentStyle?obj.currentStyle[attr]:getComputedStyle(obj,false)[attr]; ??//var 和 return 必須寫在行首 } 例二:函數(shù)封裝和隨機(jī)數(shù)配合使用 window.οnlοad=function(){ var oBox=document.getElementById('box'); oBox.οnclick=function(){ var w=parseInt(getStyle(oBox,'width')); var r=rnd(10,100); w+=r; oBox.style.width=w+'px'; } } function rnd(n,m){ return parseInt(Math.random()*(m-n+1)+n); } 例三:卷起廣告 window.οnlοad=function(){ var oBox=document.getElementById('box'); function fn(){ var timer=setInterval(function(){ var h=parseInt(getStyle(oBox,'height'))-10; if(h<=0){ clearInterval(timer); oBox.style.display='none'; } oBox.style.height=h+'px'; },30) } setTimeout(fn,3000); } function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } } 五、字符串操作 1、截取字符串 ? ?(1)?str.charAt(0)通過下標(biāo)獲取字符串第幾位 ? 兼容 str.substring(1)只傳一個參數(shù)。從開始到最后 (2) str.substring(1,3)截取字符串【alert(name.ssubstring(name.lastIndexOf('.')+1));】 兩參數(shù):第一個是開始,第二個是結(jié)束位置 ?但不包括結(jié)束位置 str.substring(n); ?截取字符串,從參數(shù)n開始到最后 2. ?indexOf(); indexOf() ??查找字符串,返回下標(biāo),無論是輸入兩個還是輸入詞組,都只找第一個字符的下標(biāo);如果沒有,則返回-1; ??應(yīng)用:瀏覽器獨(dú)有的信息 window.navigator.userAgent; ? ?找不到返回-1 if(copy.indexOf('MSIE 6.0')==-1){alert('不是IE6');} var win=window.navigator.userAgent; ? //返回字符串 判斷瀏覽器信息: var win=window.navigator.userAgent.toLowerCase(); if(win.indexOf('Chrome')!=-1){ ? ? ?alert('chrome'); }?else if(win.indexOf('Firefox')!=-1){? ? ? ?alert('f'); }?else if(win.indexOf('MSIE')){? ? ? ?alert('ie'); }?else{? ?alert('其它'); } 例一: function findSame(arr,n){ ? ? if(arr.indexOf){ ? ? ? ? return arr.indexOf(n); ? ? } ? ? for(var i=0;i<arr.length;i++){ ? ? ? ? if(arr[i]==n){ ? ? ? ? ? ? return i; ? ? ? ? ? ? } ? ? } ? ? return -1; } 3. lastIndexOf(); 從后面開始找,但同樣返回下標(biāo) 。?跟indexOf相反,是從后面開始找的,找不到也返回-1 應(yīng)用:找一個字符串的文件擴(kuò)展名 var string='a.b.cd.efg.c.d.fffd.png'; alert(string.substring(str.lastIndexOf('.')+1)); 4. 字符串拆分成數(shù)組---split( ) 5. 把英文字母轉(zhuǎn)成大寫/小寫---toUpperCase()/toLowerCase(); alert(win.toUpperCase()); alert(win.toLowerCase()); var win=window.navigator.userAgent.toLowerCase(); 5. 字符串排序 英文:按照字典序 ? ? ? ? ? ? ?alert('f'<'g'); ---->true 字符串?dāng)?shù)字:按照字典序 ? alert('624'>'53')-->true ? 先比較左側(cè)第一位 中文:亂

總結(jié)

以上是生活随笔為你收集整理的JS一起学05:Date对象、封闭空间、函数传参和封装、获取非行间样式、字符串操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色免费在线网址 | 亚洲午夜剧场 | 东京av男人的天堂 | www.国产三级| 青娱乐极品在线 | 欲色视频 | 成人亚洲精品777777ww | 性欧美13一14内谢 | 丰满少妇高潮一区二区 | 欧美日韩亚洲在线 | 国产精品资源网站 | 国产精品性爱在线 | 日韩欧美在线中文字幕 | 你懂的在线免费观看 | 国产精品一区二区在线免费观看 | 91网页在线观看 | 欧美夜夜骑 | 成人夜晚看av | 亚洲欧洲综合在线 | 中文字幕久久网 | 嫩草嫩草嫩草嫩草 | 精品少妇人妻av免费久久洗澡 | 综合视频在线 | 欧美一区二区三区大屁股撅起来 | 日韩少妇一区二区三区 | 亚洲综合欧美日韩 | 在线成人福利 | 日本伊人色 | 99久久精品一区二区成人 | 性欧美视频在线观看 | 大咪咪av| www黄色com | 精品视频在线看 | 亚洲色p | 日韩专区av | 亚洲自拍偷拍视频 | 秋霞影院一区二区 | 国产午夜精品一区二区三区嫩草 | 国产+日韩+欧美 | 香蕉精品视频在线观看 | 情欲超| 日本色婷婷 | 国产美女一区二区三区 | 精品视频久久久久久久 | 日韩欧美亚洲国产精品字幕久久久 | 久久综合99 | 欧美精品播放 | 午夜视频在线看 | 亚洲天堂免费观看 | 久久久夜色精品 | 好男人在线视频www 亚洲福利国产 | 婷婷爱五月 | 五月天综合在线 | 国产精品视频一区二区三区不卡 | 国产精品久久久久久亚洲影视 | 二区三区视频 | 99re这里只有精品首页 | 午夜激情在线 | 国产乱子伦视频一区二区三区 | 狠狠操婷婷 | 蜜桃成人免费视频 | 欧美成人中文字幕 | 麻豆导航 | 免费看日产一区二区三区 | 精品国产乱码久久久久久闺蜜 | 欧美黑人狂野猛交老妇 | 欧美日本中文字幕 | 一区二区三区中文视频 | 三级视频在线观看 | av日韩中文字幕 | 国产男女猛烈无遮挡免费视频动漫 | 欧美成人另类 | 亚洲911精品成人18网站 | 都市激情麻豆 | 蜜桃av噜噜一区二区三区小说 | 色偷偷综合网 | 精品不卡一区 | 99视频网址 | 国产高清在线 | 激情五月激情综合 | 人妻少妇精品无码专区二区 | 在线免费观看a级片 | 中文字幕在线观看第一页 | www.九色.com | 国产啊v在线观看 | 亚洲自拍在线观看 | 亚洲精品小视频 | 日本黄色免费观看 | 制服.丝袜.亚洲.中文.综合懂 | 欧美成人一区二免费视频软件 | 国产日韩欧美精品一区二区 | 国产熟妇与子伦hd | 一区二区av电影 | 永久精品网站 | 无码av免费毛片一区二区 | 精品国产va久久久久久久 | 福利电影一区 | 日本中文字幕观看 | 成年人免费网站视频 |