function* traverseDFSStack(root) {
if (!root) return;
const stack = [root];
while (stack.length > 0) {
// 1. 取出 Stack 最頂端的節點 (LIFO)
const current = stack.pop();
yield current;
// 2. 從右至左將子節點推入 Stack
// (最後推入的第一個子節點,會在下一輪優先被 pop 出來)
let child = current.lastChild;
while (child) {
stack.push(child);
child = child.previousSibling;
}
}
}
// 使用方式
for (const node of traverseDFSStack(document.body)) {
console.log(node);
}
2026年10月22日 星期四
深度優先
2026年10月8日 星期四
回應
若是真的要討論 我的觀察,戰場要整個看 最新興起的是短程精確地對地武器 非瞄準線直射的間接射擊 一個是無人機,另一個是光纖導引飛彈 中國的紅劍十這類 不論你什麼坦克都無解,絕對是大患 但,這類武器怕炮襲 不過炮襲沒有精確位置,只能少量減少壓制 要反制這類,你只有同類武器還是光纖導引飛彈,才能尋找擊殺 所以沒有這兩樣,你的戰車都形同虛設 ------------------- 先不論戰車排的戰術 也不論戰車發展史告訴我們什麼最重要 你得先解決這兩個其中之一 在守勢你戰車才有機會 而且這兩個都必須壓過敵方 才有未來 榴彈炮也是陸軍最大問題 若823小型碉堡炮可以持續發揮火力 那何須太依賴 M108 這兩個是絕對優先於600量!反正在地面非山區,天氣好,都是被看不到的光纖飛彈擊殺 問題極度嚴重 但因爲有反艦飛彈,空軍,防空飛彈擋着 讓陸軍繼續擺爛
2026年10月1日 星期四
專案
array.switch 的再次確認
ob.recordChangedPath(del) 完善
state.recordChangedPath 完善(不用 delete)不參與資料庫
isDataChanged 測試
array.sort 機制再檢查
state 再次確認,測試
form 的再確認,事件綁定
view.include 的事件綁定順序
-------------------------------------
b-data: $track(), $bind(), class DataBinding
listener 再確認
CompositeModel 再次確認
view 再確認
----------
form 改變
不再使用 listener
改用 isDataChanged
-------------------------------------
errorMsg 釐清
validate