哪裏條件語句(如果有的話)和可執行部分中:需要一些幫助和解釋與這個JavaScript線
(o = k + 1 < a.length && a.charAt(k + 1) == o) && k++;
從jQuery的日期選擇器。
哪裏條件語句(如果有的話)和可執行部分中:需要一些幫助和解釋與這個JavaScript線
(o = k + 1 < a.length && a.charAt(k + 1) == o) && k++;
從jQuery的日期選擇器。
您可以一步步採取這一步驟。
首先,讓我們添加的所有剩餘的括號,使用JavaScript的operator precedence規則:
(o = (((k + 1) < a.length) && (a.charAt(k + 1) == o))) && k++;
所以說
(k+1) < a.length
。它將是true
或false
。false
將false
指定爲o
,否則將值(a.charAt(k + 1) == o)
指定爲o
。false
指定爲o
,則表示已完成。k
。此代碼正在改變變量o
的內容含義。
在進入該變量包含一個字符,並退出這將是要麼true
或false
取決於如果在字符串a
的k+1
位置的字符正是性格。如果k+1
碰巧落在字符串外,那麼o
將被設置爲false。
作爲一個副作用的情況下,字符匹配這個表達式也增加k
。
該代碼似乎對我不好的優化的情況下,也...我不uderstand爲什麼需要處理的k+1
的特殊情況下,字符串(外面下着雨,除非o
變量都不可能包含在輸入空字符串...)
+1我注意到從字符到布爾變化也是如此。我想知道這是否是真正的代碼。 :) –
嚴重隱蔽的代碼。我認爲它的目的是爲了防止逆向工程;) –
可能是故意的...我見過程序員喜歡嘗試「保存」本地變量沒有真正的原因(通常這隻會讓你退回更糟的編譯代碼因爲它使編譯器對生命週期感到困惑)。 – 6502
你能分享一些類似o,k和a的代碼嗎? – Unknown