Rumah > hujung hadapan web > tutorial js > Ringkasan kaedah JavaScript biasa_Pengetahuan asas

Ringkasan kaedah JavaScript biasa_Pengetahuan asas

WBOY
Lepaskan: 2016-05-16 16:29:35
asal
1258 orang telah melayarinya

Bab ini tidak memberikan penjelasan mendalam tentang beberapa prinsip asas js, seperti penunjuk, skop dan prototaip ini, ia melibatkan beberapa perkara yang bermanfaat untuk memudahkan kod dan meningkatkan kecekapan pelaksanaan semasa pembangunan harian, atau boleh. digunakan sebagai kaedah empirikal, panjangnya tidak panjang, dan anda boleh membaca keseluruhan artikel dalam langkah-langkah kecil dan mengalami kegembiraan pengaturcaraan.

Dapatkan nombor rawak dalam dua selang

Salin kod Kod adalah seperti berikut:

function getRandomNum(Min, Max){ // Dapatkan nombor rawak dalam dua selang
// @ Backfire Crazy mencadangkan bahawa ada kemungkinan bahawa parameter pertama lebih besar daripada parameter kedua, jadi menambah sedikit lagi pertimbangan adalah lebih dipercayai
Jika (Min > Maks)
Maks = [Min, Min = Maks][0]; // Tukar dua nilai pembolehubah
dengan pantas  
var Julat = Maks - Min 1;
var Rand = Math.random();
Kembalikan Min Math.floor(Rand * Julat);
};

Mengembalikan parameter positif/negatif secara rawak

Salin kod Kod adalah seperti berikut:

function getRandomXY(num){ // Mengembalikan parameter positif/negatif secara rawak
num = Nombor baharu(bilangan);
Jika (Math.random() <= 0.5)
         bilangan = -bilangan;
Pulangan nombor;
}

setInterval() atau setTimeOut() fungsi pemasa lulus parameter

Salin kod Kod adalah seperti berikut:

var s = 'Saya adalah parameter';
fungsi fn(args) {
console.log(args);
}
var a = setInterval(fn(s),100); // ralat xxxxxx xxxxx
var b = setInterval(function(){ // Betul, gunakan fungsi tanpa nama untuk memanggil fungsi bermasa
fn(s);
}, 100);

pemasa setInterval() atau setTimeOut() memanggil secara rekursif

Salin kod Kod adalah seperti berikut:

var s = benar;
fungsi fn2(a, b){                // Langkah 3
Jika (s) {
         clearInterval(a);
         clearInterval(b);
}
};
fungsi fn(a){ // Langkah 2
var b = setInterval(function(){
              fn2(a, b) // Lulus dalam dua pemasa
}, 200)
};
var a = setInterval(function(){ // Langkah 1
fn(a); // b mewakili pemasa itu sendiri, yang boleh dihantar sebagai parameter tempat duduk
}, 100);

Tukar rentetan kepada nombor

Salin kod Kod adalah seperti berikut:

// Tidak perlu Nombor(String) atau Nombor(String) baharu. Hanya tolak sifar daripada rentetan
var str = '100'; // str: Rentetan
var num = str - 0;// num: Nombor

Penghakiman nilai nol

Salin kod Kod adalah seperti berikut:

var s = ''; // Rentetan kosong
if(!s) // Rentetan kosong ditukar kepada Boolean false secara lalai dan boleh ditulis terus dalam pernyataan penghakiman
if(s != null) // Tetapi rentetan kosong != null
if(s != undefined) // Rentetan kosong juga != undefined

Kaedah parseInt() pelayar IE

Salin kod Kod adalah seperti berikut:

// Penukaran berikut ialah 0 dalam IE dan 1 dalam penyemak imbas lain Ini berkaitan dengan sistem asas yang digunakan oleh pelayar IE untuk mentafsir nombor
var iNum = parseInt(01);
// Oleh itu, kaedah penulisan yang serasi ialah
var num = parseInt(Nombor baharu(01));

Firebug menyahpepijat kod js dengan mudah

Salin kod Kod adalah seperti berikut:

//Firebug mempunyai objek konsol terbina dalam yang menyediakan kaedah terbina dalam untuk memaparkan maklumat
/**
* 1: console.log(), yang boleh digunakan untuk menggantikan alert() atau document.write(), menyokong output pemegang tempat, aksara (%s), integer (%d atau %i), nombor titik terapung (%f ) dan objek (%o). Contohnya: console.log("%d tahun %d bulan %d hari", 2011,3,26)
*2: Jika terdapat terlalu banyak maklumat, ia boleh dipaparkan dalam kumpulan Kaedah yang digunakan ialah console.group() dan console.groupEnd()
*3: console.dir() boleh memaparkan semua sifat dan kaedah objek
* 4: console.dirxml() digunakan untuk memaparkan kod html/xml yang terkandung dalam nod halaman web
* 5: penegasan console.assert(), digunakan untuk menentukan sama ada ungkapan atau pembolehubah adalah benar
* 6: console.trace() digunakan untuk menjejaki jejak panggilan fungsi
* 7: console.time() dan console.timeEnd(), digunakan untuk memaparkan masa berjalan kod
* 8: Analisis prestasi (Profiler) adalah untuk menganalisis masa berjalan setiap bahagian program dan mengetahui di mana halangannya Kaedah yang digunakan ialah console.profile()....fn....console.profileEnd(. )
,*/

Dapatkan masa semasa dengan pantas dalam milisaat

Salin kod Kod adalah seperti berikut:

// t == Nilai milisaat sistem semasa, sebab: Operator tanda akan memanggil kaedah valueOf() Date.
var t = new Date();

Dapatkan tempat perpuluhan dengan cepat

Salin kod Kod adalah seperti berikut:

// x == 2, nilai x berikut semuanya 2, nombor negatif juga boleh ditukar
var x = 2.00023 | // x = '2.00023' | 0;

Tukar nilai dua pembolehubah (tiada kuantiti perantaraan digunakan)

Salin kod Kod adalah seperti berikut:
var a = 1;
var b = 2;
a = [b, b=a][0]
alert(a '_' b) // Keputusan 2_1, nilai a dan b telah ditukar.

Logik ATAU operator '||'

Salin kod Kod adalah seperti berikut:
// b bukan null: a=b, b is null: a=1.
var a = b ||. 1;
// Penggunaan yang lebih biasa adalah untuk menghantar parameter kepada kaedah pemalam dan mendapatkan elemen sasaran acara: event = event || window.event
// IE mempunyai objek window.event, tetapi FF tidak.

Hanya objek kaedah mempunyai atribut prototaip

Salin kod Kod adalah seperti berikut:
// Kaedah mempunyai atribut prototaip objek, tetapi data asal tidak mempunyai atribut ini, seperti var a = 1, a tidak mempunyai atribut prototaip
function Person() {} // Pembina orang
Person.prototype.run = function() { alert('run...'); } // Kaedah larian prototaip
Person.run(); // ralat
var p1 = new Person(); // Hanya apabila menggunakan operator baharu, kaedah larian prototaip akan diberikan kepada p1
p1.run(); // lari...

Cepat dapatkan hari dalam seminggu

Salin kod Kod adalah seperti berikut:
// Kira hari dalam minggu masa sistem semasa ialah
var week = "Hari ini ialah: minggu" "Hari pertama, dua, tiga, empat, lima, enam".charat(tarikh baharu().getDay());

Bidang penutupan

Salin kod Kod adalah seperti berikut:

/**
* Abschluss: Jeder js-Methodenkörper kann als Abschluss bezeichnet werden. Dies geschieht nicht nur, wenn eine Inline-Funktion auf einen Parameter oder ein Attribut einer externen Funktion verweist.
* Es verfügt über einen unabhängigen Bereich, in dem es mehrere Unterbereiche geben kann (d. h. verschachtelte Methoden). Am Ende ist der Abschlussbereich der Bereich der äußersten Methode
* Es enthält seine eigenen Methodenparameter und die Methodenparameter aller eingebetteten Funktionen. Wenn also eine eingebettete Funktion extern eine Referenz hat, ist der Referenzbereich der (oberste) Methodenbereich, in dem sich die referenzierende Funktion befindet
​*/
Funktion a(x) {
Funktion b(){
Alert(x); // Verweis auf externe Funktionsparameter
}
Geben Sie b;
zurück }
var run = a('run...');
// Durch die Erweiterung des Geltungsbereichs können die Variablen der externen Funktion a referenziert und angezeigt werden
run(); // alarm(): run..

Adressparameterzeichenfolge abrufen und regelmäßig aktualisieren

Code kopieren Der Code lautet wie folgt:

// Fragezeichen erhalten? Der folgende Inhalt enthält Fragezeichen
var x = window.location.search
// Den Inhalt nach der Polizeinummer # abrufen, einschließlich der #-Nummer
var y = window.location.hash
// Verwenden Sie den Timer, um die Webseite automatisch zu aktualisieren
window.location.reload();

Null und undefiniert

Code kopieren Der Code lautet wie folgt:

/**
* Der Typ „Undefiniert“ hat nur einen Wert, der undefiniert ist. Wenn eine deklarierte Variable nicht initialisiert wurde, ist der Standardwert der Variablen undefiniert.
* Der Null-Typ hat auch nur einen Wert, nämlich null. Null wird verwendet, um ein Objekt darzustellen, das noch nicht existiert. Es wird oft verwendet, um anzuzeigen, dass eine Funktion versucht, ein nicht existierendes Objekt zurückzugeben.
* ECMAScript geht davon aus, dass undefiniert von null abgeleitet ist, sodass sie als gleich definiert sind.
* Wenn wir jedoch in manchen Fällen zwischen diesen beiden Werten unterscheiden müssen, was sollten wir dann tun? Sie können die folgenden zwei Methoden verwenden
* Bei der Beurteilung ist es am besten, bei der Beurteilung, ob ein Objekt einen Wert hat, die starke Typbeurteilung „===“ zu verwenden.
​*/
var a;
Alert(a === null); // false, weil a kein leeres Objekt ist
Alert(a === undefiniert); // true, da a nicht initialisiert ist, ist der Wert undefiniert
// Erweiterung
Alert(null == undefiniert); // true, da der Operator „==“ eine Typkonvertierung durchführt,
//Ähnlich
alarm(1 == '1'); // true
warning(0 == false); // true, false werden in den Zahlentyp 0
konvertiert

Fügen Sie der Methode dynamisch Parameter hinzu

Code kopieren Der Code lautet wie folgt:

// Methode a hat einen weiteren Parameter 2
Funktion a(x){
var arg = Array.prototype.push.call(arguments,2);
alarm(arguments[0] '__' arguments[1]);
}

Angepasster SELECT-Rahmenstil

Code kopieren Der Code lautet wie folgt:







Die einfachste Farbpalette




Funktion, Objekt ist Array?

Code kopieren Der Code lautet wie folgt:

var anObject = {}; //一個物件
anObject.aProperty = “Property of object”; //物件的一個屬性
anObject.aMethod = function(){alert(“Method of object”)}; //物件的一個方法
//主要看下面:
alert(anObject[“aProperty”]); //可以將物件當數組以屬性名稱作為下標來存取屬性
anObject[“aMethod”](); //可以將物件作為數組以方法名稱作為下標來呼叫方法
for( var s in anObject) //遍歷物件的所有屬性和方法進行迭代化處理
alert(s ” is a ” typeof(anObject[s]));
// 同樣對於function類型的物件也是一樣:
var aFunction = function() {}; //一個函數
aFunction.aProperty = “Property of function”; //函數的一個屬性
aFunction.aMethod = function(){alert(“Method of function”)}; //函數的一個方法
//主要看下面:
alert(aFunction[“aProperty”]); //可以將函數當數組以屬性名稱作為下標來存取屬性
aFunction[“aMethod”](); //可以將函數當數組以方法名稱作為下標來呼叫方法
for( var s in aFunction) //遍歷函數的所有屬性和方法進行迭代化處理
alert(s ” is a ” typeof(aFunction[s]));

複製程式碼 程式碼如下:

/**
 * 是的,物件和函數可以像數組一樣,用屬性名或方法名作為下標來存取並處理。
 * 那麼,它到底該算是數組呢,還是算對象?我們知道,數組應該算是線性資料結構,線性資料結構一般有一定的規律,適合進行統一的批量迭代操作等,有點像波。
 * 而物件是離散資料結構,適合用來描述分散的和個人化的東西,有點像粒子。
 * 因此,我們也可以這樣問:JavaScript 裡的物件到底是波還是粒子?如果存在對象量子論,那麼答案一定是:波粒二象性!
 * 因此,JavaScript裡的函數和物件既有物件的特徵也有陣列的特徵。這裡的陣列稱為“字典”,一種可以任意伸縮的名稱值對兒的集合。其實, object和function的內部實作就是一個字典結構,但這種字典結構卻透過嚴謹而精巧的語法表現出了豐富的外觀。正如量子力學在某些地方用粒子來 解釋和處理問題,而在另一些地方卻用波來解釋和處理問題。你也可以在需要的時候,自由選擇用物件還是陣列來解釋和處理問題。只要善於掌握 JavaScript 的這些奇妙特性,就可以寫出許多簡潔而強大的程式碼來。
 */

點選空白處能觸發某一元素關閉/隱藏

複製程式碼 程式碼如下:

/**
 * 有時頁面有個下拉式選單或什麼的效果,需要使用者點擊空白處或點選其他元素時將其隱藏
 * 可用一個全域document點選事件來觸發
 * @param {Object} "目標物件"
 */
$(document).click(function(e){
    $("目標物件").hide();
});
/**
 * 但是有一個缺點就是當你點擊該元素又想讓他顯示
 * 如果你不及時阻止事件冒泡至全域出發document物件點擊時,上面方法就會執行
 */
$("目標物件").click(function(event){
    event = event || window.event;
    event.stopPropagation(); // 點選目標物件時,及時阻止事件冒泡
    $("目標物件").toggle();
});

以上都是個人整理的一些常用的javascript小方法,記錄下來方便自己開發時直接拿來使用,這裡也推薦給有需要的小伙伴。

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