> 웹 프론트엔드 > HTML 튜토리얼 > JS의 시간 객체 및 참조 유형

JS의 시간 객체 및 참조 유형

php中世界最好的语言
풀어 주다: 2018-03-08 14:45:58
원래의
1644명이 탐색했습니다.

이번에는 JS 시간 객체 및 참조 유형을 소개합니다. JS 시간 객체 및 참조 유형을 사용할 때 주의 사항은 무엇입니까?

기본 유형은 무엇인가요? 복합 유형에는 어떤 것이 있나요? 특징은 무엇입니까?
기본 유형: 문자열 유형, Null 유형, 숫자 유형, 정의되지 않은 유형, 부울 유형
복합 유형: 객체 유형
기능:
문자열 유형: 문자열은 일반적으로 string으로 알려진 유니코드 문자의 시퀀스입니다.
Null 유형: Null 유형에는 단 하나의 값만 있습니다: null은 null 포인터, 즉 존재하지 않는 것을 나타냅니다.
숫자 유형: JavaScript숫자 정수형과 부동소수점형 숫자의 차이점은 모두 10진수, 8진수, 16진수를 표현할 수 있는 숫자형이라는 점입니다. 이는 변수가 선언만 되고 초기화되지 않음을 의미합니다. 즉, 이 포인터가 있지만 이 포인터는 어떤 공간도 가리키지 않습니다.
Boolean 유형: Boolean에는 두 개의 값이 있습니다: 1.true2.false

Object 클래스유형: 객체(Object)는 자바스크립트의 핵심 개념이자 가장 중요한데이터 유형입니다. 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。
로그인 후 복사

Code

현재 시간부터 지정된 날짜까지의 간격을 가져오는 함수 getIntv를 작성하세요.

var str = getIntv("2016-01-08");
console.log(str); // 설날까지 20일 15시간 20분 10초 남았습니다
Code:

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);  // 二零一五年一月八日
로그인 후 복사

코드:

방법 1:

var str = getChsDate('2015-01-08');
function getChsDate(time){
time = time.replace(/-/g,'');
var arr = []
for(i=0;i<time.length;i++){
switch(time[i]){
case &#39;0&#39;: arr.push(&#39;零&#39;);break;
case &#39;1&#39;: arr.push(&#39;一&#39;);break;
case &#39;2&#39;: arr.push(&#39;二&#39;);break;
case &#39;3&#39;: arr.push(&#39;三&#39;);break;
case &#39;4&#39;: arr.push(&#39;四&#39;);break;
case &#39;5&#39;: arr.push(&#39;五&#39;);break;
case &#39;6&#39;: arr.push(&#39;六&#39;);break;
case &#39;7&#39;: arr.push(&#39;七&#39;);break;
case &#39;8&#39;: arr.push(&#39;八&#39;);break;
case &#39;9&#39;: arr.push(&#39;九&#39;);break;
}
}
console.log(time);
arr.splice(4,0,&#39;年&#39;);
arr.splice(7,0,&#39;月&#39;);
arr.splice(10,0,&#39;日&#39;);
arr = arr.join(&#39;&#39;);
return arr;
}//这种方法有一定缺陷,比如&#39;2016-02-28&#39;,输出&#39;二零一六年零二月二八日&#39;,读起来很别扭
console.log(str);  // 二零一五年一月八日
로그인 후 복사

방법 2:


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]] + &#39;年&#39; + dict[Number(month)] +&#39;月&#39; + dict[Number(day)] + &#39;日&#39;;
};
getChsDate(&#39;2015-01-08&#39;);//"二零一五年一月八日"
로그인 후 복사

n일 전 날짜를 가져오는 함수 작성:

var lastWeek =  getLastNDays(7); // ‘2016-01-08’
  var lastMonth = getLastNDays(30); //&#39;2015-12-15&#39;
로그인 후 복사

코드:


var lastWeek =  getLastNDays(7); // ‘2016-01-08’
var lastMonth = getLastNDays(30); //&#39;2015-12-15&#39;
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+&#39;-&#39;+month+&#39;-&#39;+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 somethint
Runtime.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<100;i++){
console.log(1);//输出100次1
}
Runtime.end();
console.log(  Runtime.get() );//运行了22ms
로그인 후 복사

계단은 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] ==&#39;Array&#39;) {
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] ===&#39;Array&#39;){
newarr[key]=JOSN(O[key]);
}
else{
newarr[key]=O[key];
}
}
return newarr;
}
console.log(JOSN(O))
로그인 후 복사

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어의 다른 관련 기사에 주목하세요. 웹사이트!

관련 읽기:

간단한 버블 및 양방향 버블 정렬 사례

이미지 다운로드를 위한 javascript 스크립트

위 내용은 JS의 시간 객체 및 참조 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿