Heim > Web-Frontend > js-Tutorial > Referenztypen zum Organisieren von JavaScript-Lernnotizen_Javascript-Kenntnissen

Referenztypen zum Organisieren von JavaScript-Lernnotizen_Javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 15:18:49
Original
1108 Leute haben es durchsucht

Referenztypen sind in JavaScript sehr wichtig. Ein Referenztyp ist eine Datenstruktur, die zum gemeinsamen Organisieren von Daten und Funktionen verwendet wird. Es beschreibt die Eigenschaften und Methoden eines Objekttyps. Object ist ein Basistyp, Array ist ein Array-Typ, Date ist ein Datumstyp, RegExp ist ein regulärer Ausdruckstyp usw.

Machen Sie sich JavaScript zu eigen

Mit der Popularität von AJAX hat sich der Wert von JavaScript verdoppelt. Jetzt ist JavaScript nicht mehr nur ein entbehrliches Hilfswerkzeug in der WEB-Entwicklung Als WEB-Backend-Entwicklungsprogrammierer müssen Sie JavaScript beherrschen. Zumindest in einigen relevanten Jobanforderungen können Sie die Worte „Kenntnisse mit JavaScript werden bevorzugt“ sehen. Ich möchte Ihnen sogar sagen, dass Sie dank eines anderen Entwicklungsmodells von Adobe AIR, nämlich der Entwicklung von AIR mit HTML-CSS-JavaScript, Desktop-Software mit JavaScript entwickeln können.

1.Objekttyp

1. Erstellen:

var dog = new Object(); 
Nach dem Login kopieren

Wird häufig zum Speichern und Übertragen von Daten verwendet. Beispiel: Speicher:

var person = new Object();
person.name = "Nicholas";
person.age = 29; 
Nach dem Login kopieren

Der zweite Weg zum Erstellen: (Beim Erstellen kann der Attributname auch im Zeichenfolgenformat vorliegen, d. h. Sie können dem Attributnamen Anführungszeichen hinzufügen.)

var person = {
name : "Nicholas",
age : 29
}; 
Nach dem Login kopieren

2. Holen Sie sich den Attributwert: person["name"] oder: person.name;

2.Array-Typ

Dasselbe Array kann jede Art von Daten speichern (ein Sammelsurium).

1. Das Array kann dynamisch angepasst werden (fügen Sie weitere Daten hinzu, die Länge wächst von selbst, es ist nicht tot).

2. Erstellen:

var stars=new Array();//方式1
var stars=new Array(20);//方式2
var stars=new Array("周杰伦","林俊杰","孙燕姿");//方式3
var stars=Array(20);//方式4
var stars=["周杰伦","孙燕姿","林俊杰"];//方式6 
Nach dem Login kopieren

3. Beispiel für eine dynamische Anpassung:

var stars=["周杰伦","林俊杰","孙燕姿"];
stars[1]="JJ";//动态改变(把林俊杰变为JJ)
stars[3]="皮裤汪";//动态增长(加了一个长度)
stars.length=1;//动态强制缩减(林俊杰、孙燕姿、皮裤汪强制移除,长度变为1) 
Nach dem Login kopieren

4. Array erkennen: Array.isArray(value);

5. Verwenden Sie join(), um das Array in eine durch Trennzeichen getrennte Zeichenfolge umzuwandeln:

var stars = ["周杰伦", "王尼玛", "张全蛋"];
alert(stars .join(",")); //周杰伦,王尼玛,张全蛋
alert(stars .join("-")); //周杰伦-王尼玛-张全蛋 
Nach dem Login kopieren

6. Sie können Arrays wie Stapel verwenden (pop() out, push() in).

7. Arrays können wie Warteschlangen verwendet werden. (Kombination von Shift() und Push()):

var stars = new Array(); //create an array
var count = colors.push("周杰伦", "王尼玛"); //push two items
alert(count); //2
count = stars .push("张全蛋"); //push another item on
alert(count); //3
var item = colors.shift(); //get the first item
alert(item); //周杰伦
alert(colors.length); //2
/**所谓栈变队列,其实就是把栈颠倒过来再拉取*/ 
Nach dem Login kopieren

8. Sortieren.

1.reverse()Kehrt die Reihenfolge des Arrays um (gibt das sortierte Array zurück)

2.sort()Sortieren von klein nach groß. Es wird jedoch nach Zeichenfolgen und nicht nach Zahlen sortiert: (gibt das sortierte Array zurück).

var values = [, , , , ];
values.sort();
alert(values); //,,,,
Nach dem Login kopieren

Um wie erwartet zu sortieren, können Sie sort() eine Vergleichsfunktion als Parameter hinzufügen:

function compare(value, value) {
if (value < value) {
return -;
} else if (value > value) {
return ;
} else {
return ;
}
}
var values = [, , , , ];
values.sort(compare);
alert(values); //,,,, 
Nach dem Login kopieren

Vereinfachte Version der Vergleichsfunktion (bei der Sortierung ist es nur wichtig, ob sie eine positive Zahl, eine negative Zahl oder 0 zurückgibt):

function compare(value1,value2){
return value2 - value1; 
} 
Nach dem Login kopieren

9. Operationen an Arrays: Verbinden, Schneiden, Spleißen.

1. Verbindung : concat verwenden, Speicher: concat-->concatenate: Verbindung, Kette.

Beispiel:

var stars = ["周杰伦", "王尼玛", "张全蛋"];
var stars = stars .concat("太子妃", ["花千骨", "梅长苏"]);
alert(stars); //周杰伦,王尼玛,张全蛋 
alert(stars); //周杰伦,王尼玛,张全蛋,太子妃,花千骨,梅长苏 
Nach dem Login kopieren

2. Scheibe . Verwenden Sie Slice, Speicher: Slice-Übersetzung: Slice. Beispiel:

var stars = ["梅长苏", "誉王", "靖王", "霓凰", "飞流"];
var stars= stars.slice();
var stars= stars.slice(,);
alert(stars); //誉王,靖王,霓凰,飞流(从第一个位置开始切)
alert(stars); //誉王,靖王,霓凰(从第个位置切到第个位置,表示半封闭,不包含) 
Nach dem Login kopieren

3. Spleißen. spleißen. Kraftvoll. Kann gelöscht, eingefügt, ersetzt werden.

1.Eine beliebige Anzahl von Elementen löschen: Zum Beispiel: splice(0,2), das 0. und 1. Element löschen (halbgeschlossenes Intervall) (die gelöschten Elemente zurückgeben).

2.Fügen Sie eine beliebige Anzahl von Elementen an der angegebenen Position ein: zum Beispiel: splice(2,0,"Jay Chou","王尼马"), fügen Sie Jay Chou und Wang NIMA ab ein die 2. Position Zwei Elemente.

3.Fügen Sie beliebig viele Elemente an der angegebenen Position ein und löschen Sie gleichzeitig beliebig viele Elemente. Beispiel: splice(2,1,„Jay Chou“, „Wang Nima“), löschen Sie ein Element an der zweiten Position und beginnen Sie dann mit dem Einfügen von zwei Elementen, Jay Chou und Wang Nima.

10. Positionsmethode: indexOf, lastIndexOf;

11. Iterative Methode: Unterteilt in: Übergabe nur, wenn alle qualifiziert sind, Übergabe, wenn einer qualifiziert ist, Filterung einiger Reste, Eins-zu-Eins-Zuordnung, iterative Abfrage und Reduktion.

1. Nur bestehen, wenn alle qualifiziert sind:

var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every(function(item, index, array){
return (item > 2);
});
alert(everyResult); //false 
Nach dem Login kopieren

Im obigen Beispiel wird true nur zurückgegeben, wenn jedes Element größer als 2 ist.

2. Bestehen Sie, wenn Sie eines bestehen:

var numbers = [1,2,3,4,5,4,3,2,1];
var someResult = numbers.some(function(item, index, array){
return (item > 2);
});
alert(someResult); //true 
Nach dem Login kopieren

Wenn im obigen Beispiel eins größer als 2 ist, wird true zurückgegeben.

3. Filtern Sie einen Teil des Rückstands:

var numbers = [1,2,3,4,5,4,3,2,1];
var filterResult = numbers.filter(function(item, index, array){
return (item > 2);
});
alert(filterResult); //[3,4,5,4,3] 
Nach dem Login kopieren

Im obigen Beispiel werden alle Werte größer als 2 herausgefiltert.

4. Eins-zu-eins-Zuordnung:

var numbers = [1,2,3,4,5,4,3,2,1];
var mapResult = numbers.map(function(item, index, array){
return item * 2;
});
alert(mapResult); //[2,4,6,8,10,8,6,4,2] 
Nach dem Login kopieren

Im obigen Beispiel multiplizieren Sie jeden Term mit 2.

5. Iteration: Für jedes verwenden.

6. Reduzieren: reduzieren.

var values = [1,2,3,4,5];
var sum = values.reduce(function(prev, cur, index, array){
return prev + cur;
});
alert(sum);//15
Nach dem Login kopieren

累加求和返回,5项缩为1项。 

3.RegExp类型

1.var expression=/ pattern / flags;

2.flags分三种:g(global全局模式,应用于所有字符串)、i(case-insensive,忽略字母大小写)、m(multiline,多行模式,一行检验完了接着下一行。)。举例:

/**匹配字符串中所有'at'的实例*/
var pattern1=/at/g;
/**匹配第一个'bat'或'cat',不分大小写*/
var pattern2 =/[bc]at/i;
/**匹配所有以'at'结尾的3个字符组合,不分大小写*/
var pattern3=/.at/gi; 
Nach dem Login kopieren

3.模式中所有的元字符必须转义,元字符:( { [ \ ^ $ | ) ? * + . ] }

4.Function类型

1.每个函数都是Function类型的实例,而且与其他引用类型一样,都有属性和方法。

2.函数的两种定义方法:

方法1:

function sum(a,b){
return a + b; 
} 
Nach dem Login kopieren

方法2:

var sum=function(a,b){
return a + b;
} 
Nach dem Login kopieren

3.函数没有重载。

5.Boolean、Number、String:基本包装类型

var a="Jay Chou is a superstar";
var b=a.substring(0,8); 
Nach dem Login kopieren

上例中,a是基本类型,但是a可以调用substring方法,是因为,后台自动完成a的包装操作,创建String类型的一个实例。Boolean,Number也类似。

6.单体内置对象,不需要实例化,直接使用,如:Math,Global。

1.所有全局作用域中定义的函数、变量,都是Global对象的方法,比如:parseInt,isNaN等。

2.eval()方法也是Global对象的方法,它负责解析javascript。

3.Math对象是保存数学公式和相关信息的。它有很多方法, 如:min求最小值,max求最大值,ceil()向上取整,floor向下取整,round四舍五入,random取随机数。

ps:引用类型理解:变量的交换等于把现有一间店的钥匙(变量引用地址)复制一把给了另外一个老板,此时两个老板同时管理一间店,两个老板的行为都有可能对一间店的运营造成影响。

引用类型例子

function chainStore()
{
var store1=['Nike China'];
var store2=store1;
alert(store2[0]); //Nike China
store1[0]='Nike U.S.A.';
alert(store2[0]); //Nike U.S.A.
}
chainStore();
//在上面的代码中,store2只进行了一次赋值,理论上它的值已定,但后面通过改写store1的值,发现store2的值也发生了改变,这正是引用类型的特征,也是我们要注意的地方
Nach dem Login kopieren
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