今天和Tim討論到標題這個東西
以前我同學在組前端的 javascript code 時
總會看到他在最後結尾時 把"</script>" 拆成 "<" + "/script>"
當時書上似乎也都是這麼作 所以我們都把它當成理所當然
不過就在多年後 坎尼總覺得怪怪的 為什麼不寫在一起就好了呢?
經過多次試驗 "</script>" 一直很正常啊 怪怪~
後來坎尼發現了以下的解釋 (以下講的都是個人推論 有錯請指正 ^^)
首先,坎尼認為會拆成兩段來寫的原因是:
這是個把程式寫在前端的aspx
我們直接看下圖用實例來說明
'
基本上大多數的人在新增一個頁面時
並不會把 將程式碼置於個別檔案中 這個打勾給去掉
所以我們會看到 aspx 和 aspx.cs 兩個檔案
但若是把打勾去掉呢? 那麼原本要寫在cs裡的code 就會變成寫在前端
此時aspx的頁面會在最上方增加 <script runat="server"></script>
所有的事件程式撰寫都會在這個範圍內
所以當我們要在後端輸出 javascript時 (如上圖)
寫下 Response.Write("<script> alert('aaa'); </script>") 時
.net 會跟你講這段程式碼有誤
所以坎尼猜,大概是它直接把 </script>
當成是最前面的 <script runat="server"> 的結尾
不過很神奇的是,若是我們把結束的 </script> 給拆開 (如下圖)
就又一切安然無事....
當然,以上那種情形在目前也不常見啦 (現在寫前端的應該不多吧?)
當時坎尼剛學 .net 時,剛好是 asp 轉 asp.net
很多人似乎都是從 asp 轉型過來 所以仍是習慣在前端頁面寫些東西
而那時看的書也都教這種 寫在前端 的方式
所以當時的人大概發現了 直接寫 "</script>" 來結束 javascript 行不通
於是乎都演變成 拆開寫 這種方式
以上純屬坎尼猜測
至於在 .cs 裡去撰寫呼叫 javascript
請安心的寫 </script> 吧 至少坎尼寫到現在都沒看到有誤
如果真的這麼寫會出錯...那就............寄信來跟坎尼說一下吧 XD
訂閱:
張貼留言 (Atom)
Google Spreadsheet 裡用規則運算式
最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D
-
今天坎尼去上課老師講了一題很有趣的題目 所以回到家坎尼就順手試驗了一下 I. XOR (exclusive OR) XOR 是邏輯運算子之一,定義為: 當兩數的值不同才為 true,相同則為 false 其他相關說明可以參考 維基百科:XOR II. 程式 以往的做法會宣...
-
雖然到最後你還是沒留下你的名字... 今天就來介紹一下,如何用程式撰寫多維 矩陣乘法運算 首先要了解一下矩陣乘法的計算方式 (m1 x n1) * (m2 x n2) 結果會是 (m1 x n2)的矩陣 上例中的 n1 = m2 矩陣乘法位置互換結果就會不同 (大家可以直接點上方...
-
今天測試了從 phpMyAdmin 介面將 MySQL DB 中的中文資料匯出成 .csv 檔,原本想說既然中文資料可以正確以 utf-8 編碼存入 MySQL,在 phpMyAdmin 的網頁介面上也可以正常顯示,之前匯出成 .sql 檔也沒有亂碼問題,那匯出 .csv 這種...
沒有留言:
張貼留言