Heim > Web-Frontend > js-Tutorial > Detaillierte Erläuterung der JavaScript-Implementierung von Datentypen und Array-Beurteilungsmethoden

Detaillierte Erläuterung der JavaScript-Implementierung von Datentypen und Array-Beurteilungsmethoden

韦小宝
Freigeben: 2018-03-14 18:39:03
Original
1296 Leute haben es durchsucht

In diesem Artikel erfahren Sie, wie JavaScript den Datentyp implementiert und wie Arrays beurteilt werden, wenn Sie nicht wissen, wie man Datentypen und Arrays in JavaScript implementiert Ich weiß nicht, wie man Datentypen und Arrays in JavaScript implementiert. Wenn Sie an dem Urteil interessiert sind, werfen wir einen Blick auf diesen Artikel. Okay, lassen Sie uns aufhören zu reden und zur Sache kommen.

Zu Beginn geschrieben:
Gestern habe ich beim Vorstellungsgespräch festgestellt, dass ich eine sehr, sehr einfache Frage nicht beantwortet habe. Vielleicht lag es daran, dass ich zu nervös war Ich hatte das Gefühl, ich würde mich selbst zum Weinen bringen. Später habe ich darüber nachgedacht, ich sollte es sorgfältig aufzeichnen, damit ich einen tiefen Eindruck habe. Die Revolution war noch nicht erfolgreich und wir müssen noch hart daran arbeiten, stärker zu werden!

1. Die sechs wichtigsten Datentypen von js

number:数字,整数、浮点数等等,
string:单引号或者双引号来说明,
Boolean:返回true和false,这两个值不一定对应1和0
object:对象,可以执行new操作符后跟要创建的对象类型的名称来创建。
null:只有一个值得数据类型,逻辑上讲,null值表示一个空对象指针。
undefined:未定义,使用var声明变量但未对其初始化时,变量的值就是undefined。
Nach dem Login kopieren

2. Datentyp-Beurteilungstyp
typeof kann die Beurteilung der meisten Datentypen lösen und sein Rückgabewert ist eine Zeichenfolge , die den Typ des Operanden beschreibt.

//判断变量num是不是一个数字类型
if(typeof num=='number') {
    return true;
}
Nach dem Login kopieren

Ergebnisse zurückgeben:

var a="hling"; console.log(a); //string
var a=1; console.log(a); //number
var a=false; console.log(a); //boolean
var a; console.log(typeof a); //undfined

var a = null; console.log(typeof a); //object
var a = document; console.log(typeof a); //object
var a = []; console.log(a); //object

var a = function(){}; console.log(typeof a) 
//function除了可以判断数据类型还可以判断function类型
Nach dem Login kopieren

Zusätzlich zu den vier Typen Zeichenfolge, Zahl, Boolescher Wert und Undefiniert geben Null, Objekt und Array alle Objekttypen zurück! ! !

Für Funktionstypen wird eine Funktion zurückgegeben, z. B. typeof(Date), typeof(eval) usw.

3. So bestimmen Sie den Array-Typ in js

1) Instanz von
Instanceof wird verwendet, um zu bestimmen, ob eine Variable eine Instanz eines Objekts ist. Es handelt sich um einen ternären Operator. Dieser Operator hat etwas mit Objektorientiert in JavaScript zu tun. Um dies zu verstehen, müssen Sie zunächst die Objektorientierung in JavaScript verstehen. Denn dieser Operator erkennt, ob die Prototypenkette des Objekts auf das Prototypenobjekt des -Konstruktors verweist.

a instanceof b?alert("true"):alert("false")  
//注意b值是你想要判断的那种数据类型,是不是一个字符串,比如Array
Nach dem Login kopieren
例子:var arr = [1,2,3,1]; 
alert(arr instanceof Array); // true
Nach dem Login kopieren

2) Konstruktor
Definition in der W3C-Definition: Das Konstruktorattribut gibt einen Verweis auf die Array-Funktion zurück, die dieses Objekt erstellt hat

var arr = []; 
arr instanceof Array; // true 
arr.constructor == Array; //true
Nach dem Login kopieren

Die Methode zur Beurteilung verschiedener Typen ist:

console.log("string".constructor == String);
console.log((123).constructor == Number);
console.log(false.constructor == Boolean);
console.log([].constructor == Array);
console.log({}.constructor == Object);
Nach dem Login kopieren

Allgemeine Methode:

function isArray(object){
    return object && typeof object==='object' &&
            Array == object.constructor;
}
Nach dem Login kopieren

3) Charakteristische Beurteilung
object.isArray() Zu Der Zweck besteht darin, genau zu erkennen, ob ein Wert ein Array ist. IE9+, Firefox 4+, Safari 5+, Opera 10.5+ und Chrome implementieren alle diese Methode. Versionen vor IE8 werden jedoch nicht unterstützt.

function isArray(object){
    return  object && typeof object==='object' &&    
            typeof object.length==='number' &&  
            typeof object.splice==='function' &&    
             //判断length属性是否是可枚举的 对于数组 将得到false  
            !(object.propertyIsEnumerable('length'));
}
Nach dem Login kopieren

4) Object.prototype.toString.call

Object.prototype.toString.call(value) == '[object Array]'
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels Darüber noch: Wenn Sie beide Seiten selbst umsetzen können, wird es leicht zu meistern sein!
Verwandte Empfehlungen:
js bestimmt, ob es sich um d. h. Browser

JS handelt Detaillierte Einführung in das Urteilsarray

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der JavaScript-Implementierung von Datentypen und Array-Beurteilungsmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage