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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

7 种 JavaScript 技巧使你更聪明

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

1.總是顛倒邏輯

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

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

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

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

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

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’;

當(dāng)你試圖去查看變量時,會看到如下情景:

當(dāng)你試著在控制臺輸出log時,會看到:

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

3.補(bǔ)習(xí)你的三角學(xué)

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

不要用

if (!val) { … }

而要用

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

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

4.利用JavaScript的仁慈

有多少次你在一個if語句該用等號操作符的時候而意外地使用了賦值操作符?這是非常惱人的,因?yàn)樗粫箦e、僅僅把程序帶到不可意料的境地。

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

看你代碼的人看到這里,會想當(dāng)然地認(rèn)為這是你代碼的錯誤。但是,我們沒有錯誤,因此這個人就會受到懲罰?!靶迯?fù)”它將帶來不希望的后果。

5.不用十進(jìn)制

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

var i = 27 // 27
var j = 027 // 23
你的同事或許責(zé)怪你正犯下不可饒恕的錯誤,但是你要堅(jiān)持八進(jìn)制更快,因?yàn)樗械奈槐緛砭褪且?為一組的。

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

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

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

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

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

7.富有創(chuàng)新

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

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

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

轉(zhuǎn)載自臘八粥

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

總結(jié)

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

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