這篇文章主要講解了“JS的時間對象與引用類型是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“JS的時間對象與引用類型是什么”吧!
成都創(chuàng)新互聯(lián)成立以來不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點,以客戶需求中心、市場為導(dǎo)向”的快速反應(yīng)體系。對公司的主營項目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計、行業(yè) / 企業(yè)門戶設(shè)計推廣、行業(yè)門戶平臺運營、App定制開發(fā)、手機網(wǎng)站制作設(shè)計、微信網(wǎng)站制作、軟件開發(fā)、四川電信機房托管等實行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從成都創(chuàng)新互聯(lián)可以獲得的服務(wù)效果。
基礎(chǔ)類型:String類型、Null類型、Number類型、Undefined類型、Boolean類型
復(fù)雜類型:Object類型
作用:
String類型:String是Unicode字符組成的序列,俗稱字符串,可以用雙引號或者單引號表示,沒有區(qū)別,匹配即可
Null類型:Null類型只有一個值:null,表示空指針,也就是不存在的東西
Number類型:JavaScript的數(shù)字類型和其它語言有所不同,沒有整型和浮點數(shù)的區(qū)別,統(tǒng)一都是Number類型,可以表示十進(jìn)制、八進(jìn)制、十六進(jìn)制
Undefined類型:Undefined類型也只有一個值undefined,表示變量只被聲明,沒有被初始化,也就是有這個指針,但是這個指針沒有指向任何空間
Boolean類型:Boolean有兩個值:1.true2.false
Object類型:對象(object)是JavaScript的核心概念,也是最重要的數(shù)據(jù)類型。JavaScript的所有數(shù)據(jù)都可以被視為對象,這也是我們常說的一切皆為對象。
如下代碼的輸出?為什么?
varobj1={a:1,b:2};
varobj2={a:1,b:2};
console.log(obj1==obj2);//false,由于obj1與obj2所儲存的位置不同,所以false。
console.log(obj1=obj2);//obj2賦值給obj1輸出Object{a=1,b=2}內(nèi)容。
console.log(obj1==obj2);//把obj2賦值給obj1,所以obj2與obj1存儲的位置是一樣的,所以為true。
代碼
寫一個函數(shù)getIntv,獲取從當(dāng)前時間到指定日期的間隔時間。
varstr=getIntv("2016-01-08");
console.log(str);//距除夕還有20天15小時20分10秒
代碼:
varstr=getIntv("2017-01-27");
functiongetIntv(time){
varend=newDate(time);
varnow=newDate();
vartimer=end-now;
varday=Math.floor(timer/(1000606024));
vartimer1=timer%(1000606024)
varhour=Math.floor(timer1/(10006060));
vartimer2=timer1%(10006060);
varmin=Math.floor(timer2/(100060));
vartimer3=timer2%(100060);
varsec=Math.floor(timer3/1000);
return("距"+time+"還有"+day+"天"+hour+"小時"+min+"分鐘"+sec+"秒")
}
console.log(str);//距2017-01-27還有20天15小時20分10秒
把數(shù)字日期改成中文日期,如:
varstr=getChsDate('2015-01-08');
console.log(str);//二零一五年一月八日
代碼:
方法一:
varstr=getChsDate('2015-01-08');
functiongetChsDate(time){
time=time.replace(/-/g,'');
vararr=[]
for(i=0;i switch(time[i]){ case'0':arr.push('零');break; case'1':arr.push('一');break; case'2':arr.push('二');break; case'3':arr.push('三');break; case'4':arr.push('四');break; case'5':arr.push('五');break; case'6':arr.push('六');break; case'7':arr.push('七');break; case'8':arr.push('八');break; case'9':arr.push('九');break; } } console.log(time); arr.splice(4,0,'年'); arr.splice(7,0,'月'); arr.splice(10,0,'日'); arr=arr.join(''); returnarr; }//這種方法有一定缺陷,比如'2016-02-28',輸出'二零一六年零二月二八日',讀起來很別扭 console.log(str);//二零一五年一月八日 方法二: functiongetChsDate(date){ varnewDate=date.split("-"), year=newDate[0], month=newDate[1], day=newDate[2]; vardict={"0":"零","1":"一","2":"二","3":"三","4":"四","5":"五","6":"六","7":"七","8":"八","9":"九","10":"十","11":"十一","12":"十二","13":"十三","14":"十四","15":"十五","16":"十六","17":"十七","18":"十八","19":"十九","20":"二十","21":"二十一","22":"二十二","23":"二十三","24":"二十四","25":"二十五","26":"二十六","27":"二十七","28":"二十八","29":"二十九","30":"三十","31":"三十一"}; returndict[year[0]]+dict[year[1]]+dict[year[2]]+dict[year[3]]+'年'+dict[Number(month)]+'月'+dict[Number(day)]+'日'; }; getChsDate('2015-01-08');//"二零一五年一月八日" 寫一個函數(shù)獲取n天前的日期: varlastWeek=getLastNDays(7);//‘2016-01-08’ varlastMonth=getLastNDays(30);//'2015-12-15' 代碼: varlastWeek=getLastNDays(7);//‘2016-01-08’ varlastMonth=getLastNDays(30);//'2015-12-15' functiongetLastNDays(dater){ varnow=Date.now(); vartimer=dater2460601000; varpast=newDate(now-timer); varyear=past.getFullYear(); varmonth=past.getMonth()+1;//月份從0開始算; varday=past.getDate(); returnyear+'-'+month+'-'+day; } console.log(lastWeek); console.log(lastMonth); 完善如下代碼,如: varRuntime=(function(){ //codehere... return{ start:function(){ //codehere... }, end:function(){ //codehere... }, get:function(){ //codehere... } }; }()); Runtime.start(); //todosomethint Runtime.end(); console.log(Runtime.get()); 代碼: varRuntime=(function(){ vartime1; vartime2; return{ start:function(){ time1=Date.now(); }, end:function(){ time2=Date.now(); }, get:function(){ return(time2-time1); } }; }()); Runtime.start(); for(vari=0;i<100;i++){ console.log(1);//輸出100次1 } Runtime.end(); console.log(Runtime.get());//運行了22ms 樓梯有200級,每次走1級或是2級,從底走到頂一共有多少種走法?用代碼(遞歸)實現(xiàn) functionfn(num){ if(num==0||num==1){ return1; } else{ returnfn(num-1)+fn(num-2); } } console.log(fn(200)); 寫一個json對象深拷貝的方法,json對象可以多層嵌套,值可以是字符串、數(shù)字、布爾、json對象中的任意項 varjson={ "name":"yahoo", "age":"14", "sex":"man", "address": { "streetAddress":"212ndStreet", "city":"NewYork", "state":"NY", "postalCode":"10021" } } functionJSON(arr){ varnewjson={}; for(keyinarr){ if(typeofarr[key]=="object"){ newjson[key]=JSON(arr[key]); } else{ newjson[key]=arr[key]; } } returnnewjson; } console.log(JSON(json)) 寫一個數(shù)組深拷貝的方法,數(shù)組里的值可以是字符串、數(shù)字、布爾、數(shù)組中的任意項目 vararr=[1,"2",3,[1,2,3,4],true] functionJSON(arr){ varnewarr=[]; for(keyinarr){ if(typeofarr[key]=='Array'){ newarr[key]=JSON(arr[key]); } else{ newarr[key]=arr[key]; } } returnnewarr; } console.log(JSON(arr)) 寫一個深拷貝的方法,拷貝對象以及內(nèi)部嵌套的值可以是字符串、數(shù)字、布爾、數(shù)組、json對象中的任意項 varO={ name:"yahoo", age:14, other:[1,2,true,"yahoo",3], man:{ "man1":"woman", "man2":"man2" }, aid:true, address: { streetAddress:"212ndStreet", city:"NewYork", state:"NY", postalCode:"10021" } } functionJOSN(O){ varnewarr={}; for(keyinO){ if(typeofO[key]==='Array'){ newarr[key]=JOSN(O[key]); } else{ newarr[key]=O[key]; } } returnnewarr; } console.log(JOSN(O)) 感謝各位的閱讀,以上就是“JS的時間對象與引用類型是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對JS的時間對象與引用類型是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
文章題目:JS的時間對象與引用類型是什么
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/giooed.html