Heim >Web-Frontend >HTML-Tutorial >Zeitobjekte und Referenztypen in JS

Zeitobjekte und Referenztypen in JS

php中世界最好的语言
php中世界最好的语言Original
2018-03-08 14:45:581670Durchsuche

Dieses Mal werde ich Ihnen JS-Zeitobjekte und Referenztypen vorstellen. Was sind die Vorsichtsmaßnahmen bei der Verwendung von JS-Zeitobjekten und Referenztypen?

Was sind die Grundtypen? Was sind die komplexen Typen? Was sind die Merkmale?
Grundtypen: String-Typ, Null-Typ, Zahlentyp, Undefinierter Typ, Boolescher Typ
Komplexer Typ: Objekttyp
Funktion:
String-Typ: String ist eine Folge von Unicode-Zeichen, allgemein bekannt als String , der durch doppelte oder einfache Anführungszeichen dargestellt werden kann, es gibt keinen Unterschied, nur Übereinstimmung
Null-Typ: Der Null-Typ hat nur einen Wert: null, der einen Nullzeiger darstellt, was etwas ist Das gibt es nicht.
Zahlentyp: Der Zahlentyp von JavaScript unterscheidet sich von anderen Sprachen. Es gibt keinen Unterschied zwischen Ganzzahlen und Gleitkommazahlen. Es handelt sich bei allen um Zahlentypen, die Dezimal- und Oktalzahlen darstellen können , und hexadezimal.
Undefinierter Typ: Der undefinierte Typ hat auch nur einen Wert, undefiniert, was bedeutet, dass die Variable nur deklariert und nicht initialisiert wurde, das heißt, es gibt diesen Zeiger, aber dieser Zeiger zeigt auf keinen Leerzeichen
Boolescher Typ: Boolescher Wert hat zwei Werte: 1.true2.false
ObjektklasseTyp: Objekt ist das Kernkonzept von JavaScript und der wichtigste Datentyp. Alle Daten in JavaScript können als Objekte betrachtet werden, weshalb wir oft sagen, dass alles ein Objekt ist.

Die Ausgabe des folgenden Codes? Warum?

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

Schreiben Sie eine Funktion getIntv, um das Intervall von der aktuellen Zeit bis zum angegebenen Datum abzurufen .
var str = getIntv("2016-01-08");
console.log(str); // Bis Silvester sind es noch 20 Tage, 15 Stunden, 20 Minuten und 10 Sekunden
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 秒

Ändern Sie das digitale Datum in ein chinesisches Datum, z. B.:

var str = getChsDate('2015-01-08');
console.log(str);  // 二零一五年一月八日

Code:
Methode 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);  // 二零一五年一月八日

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

Schreiben Sie eine Funktion, um das Datum vor n Tagen abzurufen:

var lastWeek =  getLastNDays(7); // ‘2016-01-08’
  var lastMonth = getLastNDays(30); //&#39;2015-12-15&#39;

Code:

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

wird wie folgt vervollständigt. Code wie:

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

Code:

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

Es gibt 200 Treppen, 1 oder 2 Ebenen jedes Mal von unten nach oben. Wie viele Züge gibt es? Verwenden Sie Code (rekursiv), um

function fn(num) {
if (num==0||num==1) {
return 1;
}
else {
return fn(num-1)+fn(num-2);
}
}
console.log(fn(200));

zu implementieren, um eine tiefe Kopie eines JSON-Objekts zu schreiben. Das JSON-Objekt kann in mehreren Ebenen verschachtelt sein und der Wert kann eine beliebige Zeichenfolge, Zahl oder ein boolescher Wert sein oder JSON-Objekt.

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

Schreiben Sie eine Deep-Copy-Methode eines Arrays. Der Wert im Array kann eine Zeichenfolge, eine Zahl, ein Boolescher Wert oder ein beliebiges Element im Array sein 🎜>

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))
Schreiben Sie eine Deep-Copy-Methode. Das kopierte Objekt und der interne verschachtelte Wert können ein beliebiges Element aus Zeichenfolgen, Zahlen, Booleschen Werten, Arrays und JSON-Objekten sein


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))
Ich glaube, ich habe den Fall in diesem Artikel gelesen. Sie beherrschen die Methode. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Verwandte Lektüre:

Einfache Blase und Zwei-Wege-Blasensortierfall

Javascript wird zum Herunterladen von Bildern verwendet Skript

Das obige ist der detaillierte Inhalt vonZeitobjekte und Referenztypen in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:DOM und Ereignisse von jqueryNächster Artikel:DOM und Ereignisse von jquery