成都网站建设设计

将想法与焦点和您一起共享

JS的时间对象与引用类型是什么

这篇文章主要讲解了“JS的时间对象与引用类型是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS的时间对象与引用类型是什么”吧!

成都创新互联成立以来不断整合自身及行业资源、不断突破观念以使企业策略得到完善和成熟,建立了一套“以技术为基点,以客户需求中心、市场为导向”的快速反应体系。对公司的主营项目,如中高端企业网站企划 / 设计、行业 / 企业门户设计推广、行业门户平台运营、App定制开发手机网站制作设计、微信网站制作、软件开发、四川电信机房托管等实行标准化操作,让客户可以直观的预知到从成都创新互联可以获得的服务效果。

基础类型:String类型、Null类型、Number类型、Undefined类型、Boolean类型

复杂类型:Object类型

作用:

String类型:String是Unicode字符组成的序列,俗称字符串,可以用双引号或者单引号表示,没有区别,匹配即可

Null类型:Null类型只有一个值:null,表示空指针,也就是不存在的东西

Number类型:JavaScript的数字类型和其它语言有所不同,没有整型和浮点数的区别,统一都是Number类型,可以表示十进制、八进制、十六进制

Undefined类型:Undefined类型也只有一个值undefined,表示变量只被声明,没有被初始化,也就是有这个指针,但是这个指针没有指向任何空间

Boolean类型:Boolean有两个值:1.true2.false

Object类型:对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象,这也是我们常说的一切皆为对象。

如下代码的输出?为什么?

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}内容。

console.log(obj1==obj2);//把obj2赋值给obj1,所以obj2与obj1存储的位置是一样的,所以为true。

代码

写一个函数getIntv,获取从当前时间到指定日期的间隔时间。

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秒

把数字日期改成中文日期,如:

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');//"二零一五年一月八日"

写一个函数获取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级,从底走到顶一共有多少种走法?用代码(递归)实现

functionfn(num){

if(num==0||num==1){

return1;

}

else{

returnfn(num-1)+fn(num-2);

}

}

console.log(fn(200));

写一个json对象深拷贝的方法,json对象可以多层嵌套,值可以是字符串、数字、布尔、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))

写一个数组深拷贝的方法,数组里的值可以是字符串、数字、布尔、数组中的任意项目

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))

写一个深拷贝的方法,拷贝对象以及内部嵌套的值可以是字符串、数字、布尔、数组、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的时间对象与引用类型是什么”的内容了,经过本文的学习后,相信大家对JS的时间对象与引用类型是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


文章名称:JS的时间对象与引用类型是什么
文章地址:http://chengdu.cdxwcx.cn/article/giooed.html