av人人干_女狠狠噜天天噜日日噜_国产精品一区二区免费_亚洲国语自产一区第二页_免费av观看_已婚少妇露脸日出白浆_国产精品探花视频_久久国产精品2020免费_国产精品好好热av在线观看_亚洲另类春色校园小说

網站建設知識

我們將想法與焦點與您一起共享

當前位置:深圳網站建設 > 新聞中心> 獨占程序員JavaScript高逼格寫法

獨占程序員JavaScript高逼格寫法

2018/8/31 8:31:18 獨占網絡 新聞中心
1. 匿名函數的N種寫法
你知道“茴”的四種寫法嗎?ε=(?д?`*)??… 扯淡,但你或許不知道匿名函數的好幾種寫法。一般情況下寫匿名函數是這樣的:

(function(){})();

但下面幾種寫法也是可以的:

!function(){}();

+function(){}();

-function(){}();

~function(){}();

~(function(){})();

void function(){}();

(function(){}());

當然,這樣的寫法,沒有什么區別,純粹逼格程度。

2. 另外一種undefined
從來不需要聲明一個變量的值是undefined,因為JavaScript會自動把一個未賦值的變量置為undefined。所有如果你在代碼里這么寫,會被鄙視的:

var data = undefined;

但是如果你就是強迫癥發作,一定要再聲明一個暫時沒有值的變量的時候賦上一個undefined。那你可以考慮這么做:

var data = void 0; // undefined

void在JavaScript中是一個操作符,對傳入的操作不執行并且返回undefined。void后面可以跟()來用,例如void(0),看起來是不是很熟悉?沒錯,在HTML里阻止帶href的默認點擊操作時,都喜歡把href寫成javascript:void(0),實際上也是依靠void操作不執行的意思。

當然,除了出于逼格的原因外,實際用途上不太贊成使用void,因為void的出現是為了兼容早起ECMAScript標準中沒有undefined屬性。void 0的寫法讓代碼晦澀難懂。

3. 拋棄你的if和else
當JS代碼里有大量的條件邏輯判斷時,那代碼看起來多可怕:

if () {

    // ...

} else if () {

    // ...

} else if () {

    // ...

} else {

    // ...

}

不用我說你都猜到用什么語法來簡化if-else了。沒錯,用||和&&,很簡單的原理就不用說啦。值得一提的是,有時候用!!操作符也能簡化if-else模式。例如這樣:

// 普通的if-else模式

var isValid = false;

if (value && value !== 'error') {

    isValid = true;

}

// 使用!!符號

var isValid = !!(value && value !== 'error');

“!”是取反操作,兩個“!”自然是負負得正了。

4. 不加分號
關于JavaScript要不要加分號的爭論已經吵了好幾年。Google的JavaScript語法指南告訴我們要加分號,很多JavaScript語法書籍也告訴我們加上分號更安全。然而,分號加不加,全靠個人對代碼的寫法,你確信寫得足夠安全的話,不加分號顯得更加高大上。

5. 趕上ES6的早班車
ES6即將在年底正式發布,趕時髦的開發者們,趕快在自己的代碼里用起來。用上module聲明,寫寫class,搗鼓一下Map,這些都會讓你的代碼逼格更高。神馬?你都不會用?那也好歹在代碼頭部加上一個ES5的"use strict";呀。

6. 添加AMD模塊支持
給你寫的代碼聲明一下AMD模塊規范,這樣別人就可以直接通過AMD的規范來加載你的模塊了,如果別人沒有通過規范來加載你的模塊,你也可以優雅地返回一個常規的全局對象。來看看jQueryUI的寫法:

(function( factory ) {

    if ( typeof define === "function" && define.amd ) {

        // AMD. Register as an anonymous module.

        define( [ "jquery" ], factory );

    } else {

        // Browser globals

        factory( jQuery );

    }

}(function( $ ) {

    // 這里放模塊代碼

    return $.widget;

}));

 

就用它來包裹你的實際代碼吧,保證別人一看代碼就知道你是個專業的開發者。

7. Function構造函數
很多JavaScript教程都告訴我們,不要直接用內置對象的構造函數來創建基本變量,例如var arr = new Array(2); 的寫法就應該用var arr = [1, 2];的寫法來取代。但是,Function構造函數(注意是大寫的Function)有點特別。Function構造函數接受的參數中,第一個是要傳入的參數名,第二個是函數內的代碼(用字符串來表示)。

var f = new Function('a', 'alert(a)');

f('test'); // 將會彈出窗口顯示test

或許大家疑惑了,你這樣繞著寫,跟function f(a) {alert(a);}比有什么好處呢?
事實上在某種情況下是有好處的,比如不能用eval的時候,你需要傳入字符串內容來創建一個函數的時候。在一些JavaScript模板語言的解析,和字符串轉換json對象的時候比較實用。

8. 用原生Dom接口不用jQuery
一個傲嬌的前端工程師是不需要jQuery的,前提是你經得起折騰。實際上,幾乎所有的jQuery方法都可以用同樣的Dom原生接口來實現,因為這貨本來就是用原生接口實現的嘛,哈哈。怎樣做到不用jQuery(也叫jQuery-free)呢?阮老師的博文《如何做到 jQuery-free?》 給我們很好的講解了做法。依賴于querySelector和querySelectorAll這兩個現代瀏覽器的接口,可以實現跟jQuery同樣方便和同樣效率的Dom查找,而且其他的類似Ajax和CSS的接口同樣也可以把原生方法做一些兼容方面的包裝即可做到jQuery-free。

總結
上述所有的JavaScript逼格寫法,一些是為了程序易懂或者效率提高的語法糖,這樣的做法是比較可取的,比如前面所說的省略if-else的做法;而有些寫法則容易造成代碼晦澀難懂或者效率偏低,例如上面說的void 0的寫法,實際上不可取。JavaScript語法上靈活,讓大家對同一個功能有很多種不同的寫法,寫法上的優化是對程序結構和代碼維護有很大幫助的。所以,逼格得裝得好看。
始終專注高端網站建設服務 網站建設案例服務方案聯系

聯系我們

135-3000-5572
151-1257-9390

地址:深圳市龍崗區橫崗街道力嘉創意文化產業園338

郵箱:chenmh@sz886.com

我們的優勢

12年建站服務經驗自主開發后臺CMS開發項目不外包無隱形收費

服務198家上市企業服務行業龍頭超過70家 營銷型網站建設完備的項目流程管理體系網頁設計與網站開發技術并重

關于獨占網絡

十多年來,憑借對設計的深刻理解,對互聯網營銷趨勢的敏銳洞察,獨占網絡不斷修正服務導向,完善創作品格,始終注重專業探索,為所有合作企業機構全力以赴,確保網站的視覺體驗與營銷轉化能力。

我們是一群對互聯網抱有執著信念的技術控。從2012年到現在,公司從未建過強大的營銷團隊,卻憑著作品與服務不斷保持增長,做到了"桃李不言,下自成蹊。" 我們堅信:每個客戶都是一條渠道,每個案例都是一個廣告,為企業插上翅膀,助力企業轉型升級,我們已做好準備。

專業團隊為您提供深圳網站建設、深圳網站制作、深圳營銷型網站建設、外貿網站建設等服務,深圳建網站就找獨占網絡 | 12年專注網站建設

深圳市獨占網絡科技有限公司 |備案號:粵ICP備15007128| Copyright 2025,ALL Rights Reserved www.ykfic.cn | Copyright 2025版權所有
Hi,Are you ready? 如果您有意向
請于我們取得聯系。

有一個互聯網項目想和我們談談嗎?
您可以填寫右邊的表格,讓我們了解您的項目需求,這是一個良好的開始,我們將會盡快與你取得聯系。當然也歡迎您給我們寫信或是打電話,讓我們聽到你的聲音!

獨占-整合互聯網營銷

地址:深圳市龍崗區橫崗地鐵A出口力嘉創意文化產業園338
大客戶專線:深圳 13530005572
售前QQ:1447567909
E-mail: sales@sz886.cn

合作意向表
您希望我們為您提供什么服務?
主站蜘蛛池模板: 兖州市| 竹溪县| 东安县| 石渠县| 乡宁县| 繁峙县| 盖州市| 靖边县| 合江县| 无极县| 临朐县| 济南市| 施甸县| 建始县| 乐至县| 文化| 原阳县| 宕昌县| 南投市| 洛扎县| 松潘县| 海盐县| 集安市| 海晏县| 晋江市| 平乐县| 阿拉尔市| 德化县| 增城市| 伊金霍洛旗| 双峰县| 孝义市| 张家口市| 镇远县| 岑溪市| 关岭| 五华县| 都兰县| 大田县| 陆川县| 昂仁县|