这次给大家带来js的时间对象与引用类型,使用js时间对象与引用类型的注意事项有哪些,下面就是实战案例,一起来看一下。
基础类型有哪些?复杂类型有哪些?有什么特征?
基础类型:String 类型、Null 类型、Number 类型、Undefined类型、Boolean 类型
复杂类型:Object 类型
作用:
String类型: String是Unicode字符组成的序列,俗称注意事项,可以用双引号或者单引号表示,没有区别,匹配即可
Null类型: Null类型只有一个值:null,表示空指针,也就是不存在的东西
Number类型: 注意事项的数字类型和其它语言有所不同,没有整型和浮点数的区别,统一都是Number类型,可以表示十进制、八进制、十六进制
Undefined类型: Undefined类型也只有一个值undefined,表示变量只被声明,没有被初始化,也就是有这个指针,但是这个指针没有指向任何空间
Boolean类型: Boolean有两个值:1.true2.false
注意事项型: 对象(object)是JavaScript的核心概念,也是最重要的注意事项。JavaScript的所有数据都可以被视为对象,这也是我们常说的一切皆为对象。
如下代码的输出? 为什么?
var obj1 = {a:1, b:2};var obj2 = {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,获取从当前时间到指定日期的间隔时间。
var str = getIntv(“2016-01-08”);
console.log(str); // 距除夕还有 20 天 15 小时 20 分 10 秒
代码:
var str = getIntv("2017-01-27");function getIntv(time){var end = new Date(time);var now = new Date();var timer = end-now;var day = Math.floor(timer/(1000606024));var timer1 = timer%(1000606024)var hour = Math.floor(timer1/(10006060));var timer2 = timer1%(10006060);var min = Math.floor(timer2/(100060));var timer3 = timer2%(100060);var sec = Math.floor(timer3/1000);return ("距"+time+"还有"+day+"天"+hour+"小时"+min+"分钟"+sec+"秒")}console.log(str); // 距2017-01-27还有 20 天 15 小时 20 分 10 秒
登录后复制
把数字日期改成中文日期,如:
var str = getChsDate('2015-01-08');console.log(str); // 二零一五年一月八日
登录后复制
代码:
方法一:
var str = getChsDate('2015-01-08');function getChsDate(time){time = time.replace(/-/g,'');var arr = []for(i=0;i方法二:
function getChsDate(date){var newDate =date.split("-"),year = newDate[0],month = newDate[1],day = newDate[2];var dict ={"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": "三十一"};return dict[year[0]]+dict[year[1]]+dict[year[2]]+dict[year[3]] + '年' + dict[Number(month)] +'月' + dict[Number(day)] + '日';};getChsDate('2015-01-08');//"二零一五年一月八日"登录后复制
写一个函数获取n天前的日期:
var lastWeek = getLastNDays(7); // ‘2016-01-08’ var lastMonth = getLastNDays(30); //'2015-12-15'登录后复制
代码:
var lastWeek = getLastNDays(7); // ‘2016-01-08’var lastMonth = getLastNDays(30); //'2015-12-15'function getLastNDays(dater){var now = Date.now();var timer = dater2460601000;var past = new Date(now - timer);var year = past.getFullYear();var month = past.getMonth()+1;//月份从0开始算;var day = past.getDate();return year+'-'+month+'-'+day;}console.log(lastWeek);console.log(lastMonth);登录后复制
完善如下代码,如:
var Runtime = (function(){//code here ...return {start: function(){//code here ...},end: function(){//code here ...},get: function(){//code here ...}};}());Runtime.start();//todo somethintRuntime.end();console.log( Runtime.get() );登录后复制
代码:
var Runtime = (function(){var time1;var time2;return {start: function(){time1=Date.now();},end: function(){time2=Date.now();},get: function(){return (time2-time1);}};}());Runtime.start();for(var i=0;i楼梯有200级,每次走1级或是2级,从底走到顶一共有多少种走法?用代码(递归)实现
function fn(num) {if (num==0||num==1) {return 1;}else {return fn(num-1)+fn(num-2);}}console.log(fn(200));登录后复制
写一个json对象深拷贝的方法,json对象可以多层嵌套,值可以是字符串、数字、布尔、json对象中的任意项
var json={"name":"yahoo","age":"14","sex":"man","address":{"streetAddress": "21 2nd Street","city": "New York","state": "NY","postalCode": "10021"}}function JSON(arr){var newjson= {};for(key in arr){if(typeof arr[key]=="object"){newjson[key]=JSON(arr[key]);}else{newjson[key]=arr[key];}}return newjson;}console.log(JSON(json))登录后复制
写一个数组深拷贝的方法,数组里的值可以是字符串、数字、布尔、数组中的任意项目
var arr=[1,"2",3,[1,2,3,4],true]function JSON(arr){var newarr=[];for(key in arr){if(typeof arr[key] =='Array') {newarr[key]=JSON(arr[key]);}else{newarr[key]=arr[key];}}return newarr;}console.log(JSON(arr))登录后复制
写一个深拷贝的方法,拷贝对象以及内部嵌套的值可以是字符串、数字、布尔、数组、json对象中的任意项
var O={name:"yahoo",age:14,other:[1,2,true,"yahoo",3],man:{"man1":"woman","man2":"man2"},aid:true,address:{streetAddress: "21 2nd Street",city: "New York",state: "NY",postalCode: "10021"}}function JOSN(O){var newarr={};for(key in O){if (typeof O[key] ==='Array'){newarr[key]=JOSN(O[key]);}else{newarr[key]=O[key];}}return newarr;}console.log(JOSN(O))登录后复制
相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!
相关阅读:
注意事项
注意事项
以上就是JS的时间对象与引用类型的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3086673.html