Rumah > hujung hadapan web > tutorial js > Jenis rujukan untuk mengatur kemahiran JavaScript nota kajian_javascript

Jenis rujukan untuk mengatur kemahiran JavaScript nota kajian_javascript

WBOY
Lepaskan: 2016-05-16 15:18:49
asal
1102 orang telah melayarinya

Jenis rujukan sangat penting dalam JavaScript. Jenis rujukan ialah struktur data yang digunakan untuk menyusun data dan fungsi bersama-sama. Ia menerangkan sifat dan kaedah sesuatu jenis objek. Objek ialah jenis asas, Array ialah jenis tatasusunan, Tarikh ialah jenis tarikh, RegExp ialah jenis ungkapan biasa, dsb.

Peluk JavaScript

JavaScript yang dahulunya tidak diketahui telah meningkat dua kali ganda nilainya dengan populariti AJAX Kini JavaScript bukan lagi sekadar alat bantu yang boleh diketepikan dalam pembangunan WEB malah terdapat kedudukan yang didedikasikan untuknya "JavaScript Engineer". seorang pengaturcara pembangunan bahagian belakang WEB, anda mesti tahu JavaScript Sekurang-kurangnya dalam beberapa keperluan kerja yang berkaitan, anda boleh melihat perkataan "familiarity with JavaScript is preferred". Saya juga ingin memberitahu anda bahawa anda akan dapat membangunkan perisian desktop dengan JavaScript, terima kasih kepada satu lagi model pembangunan Adobe AIR, iaitu membangunkan AIR dengan HTML CSS JavaScript.

1.Jenis objek

1. Cipta:

var dog = new Object(); 
Salin selepas log masuk

Biasa digunakan untuk menyimpan dan menghantar data. Contohnya, storan:

var person = new Object();
person.name = "Nicholas";
person.age = 29; 
Salin selepas log masuk

Cara kedua untuk mencipta: (Apabila mencipta, nama atribut juga boleh dalam format rentetan, iaitu, anda boleh menambah petikan pada nama atribut.)

var person = {
name : "Nicholas",
age : 29
}; 
Salin selepas log masuk

2. Dapatkan nilai atribut: person["name"]; atau: person.name;

2.Jenis tatasusunan

Tatasusunan yang sama boleh menyimpan apa-apa jenis data (hodgepodge).

1. Tatasusunan boleh dilaraskan secara dinamik (tambah satu lagi data, ia akan membesar dengan sendirinya, ia tidak mati.).

2. Cipta:

var stars=new Array();//方式1
var stars=new Array(20);//方式2
var stars=new Array("周杰伦","林俊杰","孙燕姿");//方式3
var stars=Array(20);//方式4
var stars=["周杰伦","孙燕姿","林俊杰"];//方式6 
Salin selepas log masuk

3. Contoh pelarasan dinamik:

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

4. Kesan tatasusunan: Array.isArray(nilai);

5 Gunakan join() untuk menukar tatasusunan kepada rentetan terhad:

var stars = ["周杰伦", "王尼玛", "张全蛋"];
alert(stars .join(",")); //周杰伦,王尼玛,张全蛋
alert(stars .join("-")); //周杰伦-王尼玛-张全蛋 
Salin selepas log masuk

6. Anda boleh menggunakan tatasusunan seperti tindanan (pop() keluar, tolak() masuk).

7. Tatasusunan boleh digunakan seperti baris gilir. (Menggabungkan shift() dan 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
/**所谓栈变队列,其实就是把栈颠倒过来再拉取*/ 
Salin selepas log masuk

8.

1.reverse()Terbalikkan susunan tatasusunan; (kembali tatasusunan yang diisih)

2.sort()Isih daripada kecil ke besar. Tetapi ia diisih mengikut rentetan, bukan mengikut nombor: (mengembalikan tatasusunan yang diisih).

var values = [, , , , ];
values.sort();
alert(values); //,,,,
Salin selepas log masuk

Untuk mengisih seperti yang anda harapkan, anda boleh menambah fungsi perbandingan sebagai parameter untuk mengisih():

function compare(value, value) {
if (value < value) {
return -;
} else if (value > value) {
return ;
} else {
return ;
}
}
var values = [, , , , ];
values.sort(compare);
alert(values); //,,,, 
Salin selepas log masuk

Versi ringkas fungsi perbandingan (isihan hanya mengambil berat sama ada ia mengembalikan nombor positif, nombor negatif atau 0):

function compare(value1,value2){
return value2 - value1; 
} 
Salin selepas log masuk

9. Operasi pada tatasusunan: mencantum, menghiris, mencantum.

1. Sambungan : gunakan concat, memori: concat-->concatenate: sambungan, rantai.

Contoh:

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

2. Gunakan slice, memory: slice translation: slice. Contoh:

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

3. Penyambungan. sambung. Berkuasa. Boleh dipadam, dimasukkan, diganti.

1.Padamkan sebarang bilangan item: Contohnya: sambung(0,2), padamkan item ke-0 dan pertama (selang separuh tertutup) (kembalikan item yang dipadam).

2.Masukkan sebarang bilangan item pada kedudukan yang ditentukan: contohnya: sambat(2,0,"Jay Chou","王尼马"), masukkan Jay Chou dan Wang NIMA bermula dari kedudukan ke-2 Dua item.

3.Masukkan sebarang bilangan item pada kedudukan yang ditentukan dan padamkan sebarang bilangan item pada masa yang sama. Contohnya: sambung(2,1,"Jay Chou","Wang Nima"), padam satu item dari kedudukan kedua, dan kemudian mula memasukkan dua item, Jay Chou dan Wang Nima.

10 Kaedah kedudukan: indexOf, lastIndexOf;

11. Kaedah berulang: Terbahagi kepada: lulus hanya jika semua layak, lulus jika mana-mana yang layak, menapis beberapa baki, pemetaan satu-satu, pertanyaan berulang dan pengurangan.

1. Lulus hanya jika semua layak:

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 
Salin selepas log masuk
Dalam contoh di atas, benar akan dikembalikan hanya jika setiap item lebih daripada 2.


2. Lulus jika anda lulus mana-mana:

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 
Salin selepas log masuk
Dalam contoh di atas, jika satu lebih besar daripada 2, ia akan kembali benar.


3. Tapis bahagian sisa:

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] 
Salin selepas log masuk
Dalam contoh di atas, semua nilai lebih daripada 2 ditapis keluar.


4. Pemetaan satu dengan satu:

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] 
Salin selepas log masuk
Dalam contoh di atas, darab setiap sebutan dengan 2.


5. Lelaran: gunakan untuk setiap.

6. Kurangkan: kurangkan.

var values = [1,2,3,4,5];
var sum = values.reduce(function(prev, cur, index, array){
return prev + cur;
});
alert(sum);//15
Salin selepas log masuk

累加求和返回,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; 
Salin selepas log masuk

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

4.Function类型

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

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

方法1:

function sum(a,b){
return a + b; 
} 
Salin selepas log masuk

方法2:

var sum=function(a,b){
return a + b;
} 
Salin selepas log masuk

3.函数没有重载。

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

var a="Jay Chou is a superstar";
var b=a.substring(0,8); 
Salin selepas log masuk

上例中,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的值也发生了改变,这正是引用类型的特征,也是我们要注意的地方
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan