亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:52000
  • 待審:37
  • 小程序:12
  • 文章:1037587
  • 會(huì)員:756

您可能已經(jīng)知道 JAVAScript 是世界上使用最廣泛的編程語(yǔ)言。它用于 Web、移動(dòng)混合應(yīng)用程序、服務(wù)器端 (NodeJS) 和各種其他應(yīng)用程序。由于它可用于在 Web 瀏覽器中顯示以及使用 nodebot 或其他智能交互機(jī)器人,因此它可以作為許多新開(kāi)發(fā)人員的編程入門(mén)。在就業(yè)市場(chǎng)上,精通 JavaScript 并能編寫(xiě)干凈、高效代碼的開(kāi)發(fā)人員需求量很大。

無(wú)論使用何種瀏覽器/引擎或 SSJS(Server Side JavaScript)解釋器,所有 JavaScript 開(kāi)發(fā)人員都應(yīng)該熟悉我將在本文中分享的提示、技巧和最佳實(shí)踐。

一直使用 === 替代 ==

如有必要,使用 ==(或!=)運(yùn)算符自動(dòng)執(zhí)行類型轉(zhuǎn)換。使用 ===(或 !==)運(yùn)算符時(shí)不會(huì)進(jìn)行轉(zhuǎn)換。有人可能會(huì)爭(zhēng)辯說(shuō)它比較值和類型比 == 更快。

[5] === 5   // is false
[5]  == 5    // is true
'5' == 5     // is true
'5' === 5    // is false
 []   == 0     // is true
 [] ===  0     // is false
 '' == false   // is true but true == "a" is false
 '' ===   false // is false

第一次聲明變量的值時(shí),盡量避免使用 var 關(guān)鍵字

全局變量在分配給未聲明的變量時(shí)自動(dòng)聲明。盡量防止使用全局變量。

使用 typeof、instanceof 和 constructor 時(shí)要小心。

typeof 操作符用于檢測(cè)變量的數(shù)據(jù)類型,它返回一個(gè)字符串,表示變量的類型。它可以檢測(cè)出所有類型,包括:

  • 基本類型(number, string, boolean, undefined)
  • 引用類型(object, function)
  • 如果要檢測(cè)一個(gè)變量是否是基本類型,可以使用 typeof。
let x = 5;
console.log(typeof x); // "number"

instanceof 操作符用于檢測(cè)一個(gè)對(duì)象是否是某個(gè)類的實(shí)例。它返回一個(gè)布爾值,表示對(duì)象是否是類的實(shí)例。它只能用于檢測(cè)對(duì)象類型,因?yàn)榛绢愋蜎](méi)有構(gòu)造函數(shù)。

let x = new Date();
console.log(x instanceof Date); // true

constructor 屬性返回創(chuàng)建對(duì)象的構(gòu)造函數(shù)。它也只能用于檢測(cè)對(duì)象類型。

let x = new Date();
console.log(x.constructor === Date); // true

它們之間的區(qū)別就是 typeof 操作符用于檢測(cè)類型,而 instanceof 和 constructor 都用于檢測(cè)類。 instanceof 操作符檢測(cè)對(duì)象是否是某個(gè)類的實(shí)例,而 constructor 檢測(cè)對(duì)象是由哪個(gè)類創(chuàng)建的。

另外,typeof 可以檢測(cè)出所有類型,而 instanceof 和 constructor 只能檢測(cè)對(duì)象

還有一點(diǎn)值得注意的是,instanceof 操作符在檢測(cè)繼承關(guān)系時(shí)也是有效的。比如,如果一個(gè)類 B 繼承自另一個(gè)類 A,那么一個(gè) B 類的實(shí)例也是 A 類的實(shí)例。

class A {}
class B extends A {}
let x = new B();
console.log(x instanceof B); // true
console.log(x instanceof A); // true

而 constructor 屬性則只能檢測(cè)到對(duì)象是由哪個(gè)類直接創(chuàng)建的,并不能檢測(cè)繼承關(guān)系。

class A {}
class B extends A {}
let x = new B();
console.log(x.constructor === B); // true
console.log(x.constructor === A); // false

總結(jié)一下,typeof 操作符用于檢測(cè)變量的類型,instanceof 操作符用于檢測(cè)對(duì)象是否是某個(gè)類的實(shí)例,而 constructor 屬性用于檢測(cè)對(duì)象是由哪個(gè)類創(chuàng)建的。

typeof 和 instanceof 都只能檢測(cè)對(duì)象類型,但instanceof 不能檢測(cè)基本類型。 instanceof 可以檢測(cè)繼承關(guān)系,而 constructor 只能檢測(cè)直接創(chuàng)建的關(guān)系。

False 值包括 undefined、null、0、false、NaN 和“(空字符串)。

創(chuàng)建自調(diào)用函數(shù)(IIFE)

自調(diào)用匿名函數(shù)或立即調(diào)用函數(shù)表達(dá)式是此 (IIFE) 的通用名稱。它是以下形式的函數(shù),在創(chuàng)建后立即運(yùn)行:

(function(){
    // some private code to be executed automatically
})();  
(function(d,y){
    var result = d+y;
    return result;
})(20,20)

隨機(jī)數(shù)字?jǐn)?shù)組

var numbers = [6, 650, 140 , -225 , 233 , 500 , 152300, -81451];
numbers = numbers.sort(function(){ return Math.random() - 0.5});

驗(yàn)證給定的參數(shù)是一個(gè)數(shù)字

function isNumber(n){
    return !isNaN(parseFloat(n)) && isFinite(n);
}

將 arguments 對(duì)象轉(zhuǎn)換為數(shù)組

var argumentsArray = Array.prototype.slice.call(arguments);

清空數(shù)組

var newArray = [12 , 222 , 1000 ];  
newArray.length = 0; // newArray will be equal to [].

使用 map() 函數(shù)方法循環(huán)遍歷數(shù)組的項(xiàng)目

var squares = [1,4,6,2].map(function (val) {  
    return val * val;  
}); 
// squares will be equal to [1, 16, 26, 4]

結(jié)束語(yǔ)

由于文章篇幅問(wèn)題,今天的介紹就到這里 ,下一篇文章繼續(xù)介紹剩下的10個(gè)小技巧,希望今天的分享對(duì)你有所幫助,感謝你的閱讀,如果你喜歡我的分享,別忘了點(diǎn)贊轉(zhuǎn)發(fā),讓更多的人看到,最后別忘記點(diǎn)個(gè)關(guān)注,你的支持將是我分享最大的動(dòng)力,后續(xù)我會(huì)持續(xù)輸出更多內(nèi)容,敬請(qǐng)期待。

原文:
https://javascript.plAInenglish.io/my-20-most-useful-javascript-tips-tricks-and-best-practices-9ad8fe7f0c01

作者:Abdulazeez Sherif

非直接翻譯,有自行改編和添加部分。

分享到:
標(biāo)簽:JavaScript
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 52000

    網(wǎng)站

  • 12

    小程序

  • 1037587

    文章

  • 756

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定