Heim  >  Artikel  >  Web-Frontend  >  Wie greife ich auf die Eigenschaften und Methoden von Objekten in js zu? (Codebeispiel)

Wie greife ich auf die Eigenschaften und Methoden von Objekten in js zu? (Codebeispiel)

青灯夜游
青灯夜游nach vorne
2018-10-24 17:57:412342Durchsuche

Der Inhalt dieses Artikels besteht darin, vorzustellen, wie js auf die Eigenschaften und Methoden von Objekten zugreift. (Codebeispiel). Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Die Eigenschaften und Methoden eines Objekts werden zusammenfassend als Mitglieder des Objekts bezeichnet.

Auf die Eigenschaften eines Objekts zugreifen

In JavaScript können Sie „.“ verwenden. [ ]“, um auf die Eigenschaften des Objekts zuzugreifen.

Der Unterschied zwischen den beiden : „.“ Notation wird im Allgemeinen als statisches Objekt für den Zugriff auf Eigenschaften verwendet. Die Notation „[ ]“ ist beim dynamischen Zugriff auf Attribute sehr nützlich.

var object = {name:'xiaoming',age:29};
var name1 = object.name;var name2 = object['name'];

Methoden für den Zugriff auf Objekte

In JavaScript können Sie nur „.“ verwenden, um auf Methoden von Objekten zuzugreifen .

function Person(){
    this.name = 'xiaoming';
    this.age = 29;
    this.say = function(){
        alert('This is person');
    }          
}
var student = new Person();
alert(student.name);
alert(student['age']);
student.say();  //使用" . "访问对象方法

Zwei Fragen abgeleitet von:

1 Bestimmen Sie die Anzahl der Vorkommen in einer Zeichenfolge Zählen Sie bei den meisten Zeichen die Anzahl der

var str = 'Thisthebesttimesewerty';
var obj = {};
for(var i=0; i<str.length;i++){
    var char = str[i];
 // var char = str.charAt(i); //charAt()可返回指定位置的字符,i为字符的下标,从0开始
    if(obj[char]){
        obj[char]++; //char是obj对象的一个属性,如果存在次数加1
    }else{
        obj[char] = 1; //如果不存在,保存在obj中并计数为1
    }
}

var max = 0;
var maxChar = null;
for(var key in obj){
    if(max < obj[key]){
        max = obj[key]; //出现最多次数max
        maxChar = key;  //出现次数最多的字符maxChar
    }
}

2. Schreiben Sie die Funktion arraysSimilar, um zu bestimmen, ob die beiden eingehenden Arrays ähnlich sind.

Spezifische Anforderungen:

1. Die Mitglieder im Array haben den gleichen Typ, die Reihenfolge kann jedoch unterschiedlich sein. Beispielsweise ähnelt [1, true] [false, 2].

2. Die Länge der Arrays ist gleich.

3. Der Typbeurteilungsbereich muss unterschieden werden: Zeichenfolge, Boolescher Wert, Zahl, undefiniert, Null, Funktion, Datum, Fenster.

Wenn alle oben genannten Punkte erfüllt sind, wird „Beurteilungsergebnis: Bestanden“ zurückgegeben, andernfalls wird „Beurteilungsergebnis: Nicht bestanden“ zurückgegeben.

function arraysSimilar(arr1,arr2){
    if(!(arr1 instanceof Array) || !(arr2 instanceof Array)){
         return false;
    }   
    if(arr1.length !== arr2.length){
         return false;
    }

    var i=0, n=arr1.length, countMap1={}, countMap2 = {}, t1, t2,
    TYPES = ['string','boolean','number','undefined','null','function','date','window'];

    for(i; i<n; i++){
         t1 = typeOf(arr1[i]);
         t2 = typeOf(arr2[i]);
         if(countMap1[t1]){
             countMap1[t1]++;
         }  else{
             countMap1[t1] = 1;
         }

        if(countMap2[t2]){
             countMap2[t2]++;
         }  else{
             countMap2[t2] = 1;
         }
    }
 
    for(i=0; i<TYPES.length; i++){
        if(countMap1[TYPES[i]] != countMap2[TYPES[i]]){
            return false;
        }
    }
    return true;
}

function typeOf(ele){
    var r;
    if(ele === null){
        r = 'null';
    }
    else if(ele === 'window'){
        r = 'window';
    }
    else if(ele instanceof Array){
        r  = 'array';
    }
    else if(ele instanceof Date){
        r = 'date';
    }
    else{
        r = typeof(ele);
    }
    return r;
}

Das obige ist der detaillierte Inhalt vonWie greife ich auf die Eigenschaften und Methoden von Objekten in js zu? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen