日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

7 种 JavaScript 技巧使你更聪明

發(fā)布時間:2023/12/4 javascript 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 7 种 JavaScript 技巧使你更聪明 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.總是顛倒邏輯

讓我們從一個小優(yōu)化開始,目的是為了使得非常簡單的操作看起來復雜些。

if (x && y) { … } // bad if (!(!x || !y)) { … } // good

2.在你的變量名字里使用擴展的unicode字符

編譯好的軟件一旦發(fā)布成產(chǎn)品,它必須是一個黑盒。這對JavaScript來說是不可能的。如果有人想徹底搞懂你的JavaScript代碼,他們僅僅需要打開瀏覽器控制臺、加一些斷點就能看到對象的狀態(tài)。

對象屬性的名稱,改用非規(guī)則字符串,來阻礙他們的進展。

var foo = function (person) {// stuff happens// perhaps a breakpoint is added here// or they attempt to log the objectconsole.log(person);}var person = {};person[‘\t’] = ‘Nicholas’;person[‘\b’] = ‘Male’;person[‘\r’] = ‘Programmer’;person[‘\f’] = ‘Lover’;

當你試圖去查看變量時,會看到如下情景:

當你試著在控制臺輸出log時,會看到:

用同樣的技巧把Zalgo文本合并到你的代碼

3.補習你的三角學

在我從大學退學以前,老師常常說數(shù)學和編程是多么地緊密相關(guān)。根據(jù)經(jīng)驗,我發(fā)現(xiàn)不是這回事兒。事實上,我開始覺得,老師是為了騙學生來上課。好吧,是時候好好利用學生欠下的嚴重債務了。

不要用

if (!val) { … }

而要用

Math.floor(.5 + ((Math.cos(val)*.5)))

僅當val是2pi的整數(shù)倍時,它才會返回true。你甚至不需擔心val不是一個數(shù)字。真沒有關(guān)系。實際上,也不再有關(guān)系了。

4.利用JavaScript的仁慈

有多少次你在一個if語句該用等號操作符的時候而意外地使用了賦值操作符?這是非常惱人的,因為它不會報錯、僅僅把程序帶到不可意料的境地。

function foo (x) {if (x=true) {// no matter what value is // passed in for x, this// will always execute} } foo(false);

看你代碼的人看到這里,會想當然地認為這是你代碼的錯誤。但是,我們沒有錯誤,因此這個人就會受到懲罰。“修復”它將帶來不希望的后果。

5.不用十進制

用八進制初始化一個數(shù)字很容易被誤認為是十進制;僅僅在第一個數(shù)字使用‘0’。

var i = 27 // 27
var j = 027 // 23
你的同事或許責怪你正犯下不可饒恕的錯誤,但是你要堅持八進制更快,因為所有的位本來就是以8為一組的。

6.空白不是毛病;除了它有用的情況

每個人都知道JavaScript里的空白和分號不過是多余的,是嗎?錯!不要這樣想當然。

(function () { var a=1,b=2,c=3d=4,e=5,f=6; }()); console.log(d,e,f); // 4,5,6

上面的例子,我們“少”了一個逗號。如果代碼都在一行,我們不會犯錯。但是既然不在一行,編譯器將在 c=3 之后附加一個分號。這導致d,e,f聲明為全局變量。現(xiàn)在可以隨時使用這些變量了,包括分離的文件。

再一次,如果有人注意到這種情況,并試著修改,這將潛在地破壞了所有不相關(guān)的代碼部分,而不是規(guī)范代碼,他們很可能只有回退修改了,足以證明你更聰明。

7.富有創(chuàng)新

編程就是創(chuàng)新,創(chuàng)新就是模仿別人。不要害怕偷代碼和想法,或者責備其他人偷你的。比如,你知道jQuery是完全模仿Prototype的嗎?是的。

Nicholas Ortenzio【注1】在練習倒背字母表,以防萬一。

原文地址:https://medium.com/cool-code-pal/a1286881aed7
注1:Nicholas Ortenzio 就是本文的作者,最后一句話的意思應該是:很少有人倒背字母表,如果你倒背了,你會顯得比其他人聰明。

轉(zhuǎn)載自臘八粥

文章轉(zhuǎn)載自 開源中國社區(qū) [http://www.oschina.net]

總結(jié)

以上是生活随笔為你收集整理的7 种 JavaScript 技巧使你更聪明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。