在javascript中嵌入jsp代碼和在jsp中動態(tài)組裝javascript代碼是不一樣的概念。

創(chuàng)新互聯(lián)于2013年成立,先為全州等服務建站,全州等地企業(yè),進行企業(yè)商務咨詢服務。為全州企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
如果你的javascript寫在了html頁面中,那么你的jsp代碼是不會被編譯的。
如果你在jsp中動態(tài)組裝了javascript代碼,那么jsp頁面會被編譯為一個class類,這個類會跟你寫的邏輯會輸出(out.println()方式)javascript代碼。舉例來說:
在javascript中寫jsp代碼:
javascript
alert(“% int i=1; i++; out.println(i); %”);
/javascript
上面的代碼段如果放在jsp頁面中% int i=1; i++; out.println(i); %會被編譯,但是放在HTML頁面中不會被編譯。
在jsp頁面中動態(tài)組裝javascript代碼:
% if(loginType =="admin"){
out.println("javascript function ShowType{ ? ? ? ? ? ?document.getElementById('type').innerHTML = "admin" } /javascript");
}else{
out.println("javascript function ShowType{ document.getElementById('type').innerHTML = "admin" } /javascript");
}%
上面這個jsp代碼段放在合適的jsp頁面中這個javascript是會被發(fā)送到client的,你就可以在client使用這個ShowType方法。
總之一句話:javascript代碼是給瀏覽器執(zhí)行的,jsp代碼是在server端編譯的,jsp代碼必須放在jsp頁面中經(jīng)server編譯,而javascript只要發(fā)送給client就行。
三種:
1、引入外部js
2、文檔內部標簽javascript/...
3、行內js——javascript:return void(null)或javascript:return confirm("……");等
var?str1,str2,str3,str4;
str1?=?new?String("tom");
str2?=?new?String("tom");
str3?=?"tom";
document.write(str1==str2);
document.write(",");
document.write(str1===str2);
document.write(",");
document.write(str1==str3);
document.write(",");
document.write(str1===str3);
document.write(",");
str4?=?str1.concat("?jerry");
document.write(str4);
望采納!
Javascript是最流行的腳本語言之一,也是Web的主要技術之一,這樣的優(yōu)勢導致它在嵌入式領域也有一定的作用
飛利浦出過一套 Pronto 智能中控設備系列,可以通過編寫代碼自定義界面和邏輯,控制繼電器、串口、紅外等設備,適用于家庭和辦公室自動化控制。
控
制設備分為中控主機和控制板(即帶彩色觸摸屏的遙控器),本身是嵌入式系統(tǒng),但控制板中存儲的自定義邏輯代碼就是使用改造過的Javascript腳本規(guī)
范。為家庭或安裝好被控制的設備以后,只需通過必要連線或局域網(wǎng)將中控主機與被控設備連通,再將電腦上編寫好的腳本和配置文件通過USB口傳到控制板上,
就可以使用了。電腦端編輯是半圖形化半文本式的界面(類似Visual Studio和 Xcode
的使用),代碼編寫又不難,因此上手非常容易。編寫界面和最終的控制板使用體驗都很好。
“ProntoScript
是一種基于 JavaScript 的軟件工具,它使安裝人員能夠創(chuàng)建動態(tài)的雙向用戶界面,利用全圖形的靈活性對 RS232 或 IP
進行系統(tǒng)控制。該工具集成在 ProntoEdit Professional 軟件中。與 Pronto 合作伙伴預建的 ProntoScript
模塊可通過網(wǎng)站獲得。對于典型安裝,您可以選擇使用標準安裝參考文件,重新分配各個組件即可。更高級的 JavaScript
編程人員能夠創(chuàng)建他們自己的 ProntoScript 模塊,以便進行全面的系統(tǒng)操作和反饋。”
可惜不知為何沒有后續(xù)研發(fā)新產(chǎn)品。
作者:知乎用戶
鏈接:
來源:知乎
著作權歸作者所有。商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)轉載請注明出處。
用一個 JavaScript 平臺來做嵌入式開發(fā),確實是簡單的事情復雜化了。
表面上來看,所謂用 JavaScript 來點亮一個 LED 什么的,代碼是簡單了,但是它簡單,是基于一個復雜的平臺基礎上的,很多產(chǎn)品如何搭載和使用這個平臺本身就是很難解決的問題,這個問題比用什么語言編程復雜多了。
譬如,一個設備,電路板只有一個硬幣大小,為了配合設備的結構,形狀也有特定要求,有3個按鍵,控制一個可調光的 LED ,以及開關機,用電池供電,具備低電量提醒和自動休眠功能,必須盡可能延長電池使用時間。
這就是在嵌入式開發(fā)中遇到的需求,一個 PIC12 單片機就可以解決。
而為了讓一套 JavaScript 平臺運行在上面,我要不要設計一個專門的軟硬件環(huán)境?那徒增了很多不必要的工作量,僅僅是為了用另一種語言,更抽象地控制一個 LED 燈?
還是說你能幫我設計這套平臺,那么怎么收費?如果我要出貨 100 萬套,成本控制,生產(chǎn),各種 EMC 之類的測試,都是你幫我解決嗎?
那不是變成了外包了嗎?
嵌入式開發(fā)門檻太高,最大的問題在于和實體世界太接近,無法做太多抽象,不同的需求,最佳解決方案會根據(jù)實際情況產(chǎn)生非常大的差異;越是抽象了,就離嵌入式越遠,抽象本身就是和嵌入背道而馳的。
而且,對硬件做抽象,那不就是相當于重新走了一次發(fā)明軟件的路了嗎?
電腦就是一種經(jīng)過抽象的“嵌入式設備”。我要做一個產(chǎn)品,直接把一部 PC 塞進去是不是更好?
或者其他運行 Linux 的設備,我喜歡用什么語言,什么環(huán)境開發(fā)不可以? JavaScript 可以,Python 可以,或者其他什么 ooxx 語言都可以。
所以是沒必要的?那當然不是,部分細分市場的需求還是可以滿足的。
像 這種,雖然對于真正的嵌入式開發(fā)領域而言基本沒什么意義,但是卻為初學者和一般愛好者提供了一個相當不錯入門環(huán)境。
三種嵌入式開發(fā)
第一種單片機
第二種是DSP
這2類編程一般用C,偶爾用匯編。這2類做的系統(tǒng)有的是裸機,有的運行實時操作系統(tǒng)。但是不要被操作系統(tǒng)這幾個字迷惑了,他跟Windows,linux之類的差別非常大,怎么說呢,舉個例子吧,我們部門做dsp的,他們寫程序用c,但是不同于我們學習的C,因為他們沒有標準庫,沒有浮點數(shù)運算,基本不用乘法(沒有硬件乘法器,一般用移位),然后內存非常小,一般就幾k,這種條件下不大可能寫的出js虛擬機,就算google逆天寫出來了,ram也不夠用,他們經(jīng)常用掉90%多內存,然后我聽他們討論最多的就是內存不夠。哦,對了,他們操作系統(tǒng)用的是ucos,這個系統(tǒng)是開源的,有興趣你可以去看下,5500行代碼,有個德國人移植到Windows上了,csdn上有下載,不過是用lcc編譯器編譯的,改一點點就可以用vc或者gcc編譯,當然,這個和在dsp上運行有本質區(qū)別,他是用多線程模擬硬件時鐘中斷的。
第三類是ARM M系列
其實也是單片機,功能稍微強大點。
第四類是ARM9系列 ,ARM A系列
這類可以運行高級操作系統(tǒng)了,比如linux,android,雖然性能和資源比pc差很多,但是編程方式已經(jīng)差不多了。我們部門就用ARM9,運行l(wèi)inux,有屏幕的設備界面用qt,沒界面的一般用php或者是cgi提供網(wǎng)頁(web服務器用boa),邏輯一般用c,不過現(xiàn)在貌似要全面切換成qt和lua。
標題名稱:javascript嵌入,在html中嵌入javascript
當前地址:http://chinadenli.net/article29/dsiphjh.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、微信小程序、App設計、動態(tài)網(wǎng)站、網(wǎng)站建設、ChatGPT
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)