十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在javascript中嵌入jsp代码和在jsp中动态组装javascript代码是不一样的概念。
创新互联于2013年成立,先为全州等服务建站,全州等地企业,进行企业商务咨询服务。为全州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
如果你的javascript写在了html页面中,那么你的jsp代码是不会被编译的。
如果你在jsp中动态组装了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页面中动态组装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是会被发送到client的,你就可以在client使用这个ShowType方法。
总之一句话:javascript代码是给浏览器执行的,jsp代码是在server端编译的,jsp代码必须放在jsp页面中经server编译,而javascript只要发送给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的主要技术之一,这样的优势导致它在嵌入式领域也有一定的作用
飞利浦出过一套 Pronto 智能中控设备系列,可以通过编写代码自定义界面和逻辑,控制继电器、串口、红外等设备,适用于家庭和办公室自动化控制。
控
制设备分为中控主机和控制板(即带彩色触摸屏的遥控器),本身是嵌入式系统,但控制板中存储的自定义逻辑代码就是使用改造过的Javascript脚本规
范。为家庭或安装好被控制的设备以后,只需通过必要连线或局域网将中控主机与被控设备连通,再将电脑上编写好的脚本和配置文件通过USB口传到控制板上,
就可以使用了。电脑端编辑是半图形化半文本式的界面(类似Visual Studio和 Xcode
的使用),代码编写又不难,因此上手非常容易。编写界面和最终的控制板使用体验都很好。
“ProntoScript
是一种基于 JavaScript 的软件工具,它使安装人员能够创建动态的双向用户界面,利用全图形的灵活性对 RS232 或 IP
进行系统控制。该工具集成在 ProntoEdit Professional 软件中。与 Pronto 合作伙伴预建的 ProntoScript
模块可通过网站获得。对于典型安装,您可以选择使用标准安装参考文件,重新分配各个组件即可。更高级的 JavaScript
编程人员能够创建他们自己的 ProntoScript 模块,以便进行全面的系统操作和反馈。”
可惜不知为何没有后续研发新产品。
作者:知乎用户
链接:
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
用一个 JavaScript 平台来做嵌入式开发,确实是简单的事情复杂化了。
表面上来看,所谓用 JavaScript 来点亮一个 LED 什么的,代码是简单了,但是它简单,是基于一个复杂的平台基础上的,很多产品如何搭载和使用这个平台本身就是很难解决的问题,这个问题比用什么语言编程复杂多了。
譬如,一个设备,电路板只有一个硬币大小,为了配合设备的结构,形状也有特定要求,有3个按键,控制一个可调光的 LED ,以及开关机,用电池供电,具备低电量提醒和自动休眠功能,必须尽可能延长电池使用时间。
这就是在嵌入式开发中遇到的需求,一个 PIC12 单片机就可以解决。
而为了让一套 JavaScript 平台运行在上面,我要不要设计一个专门的软硬件环境?那徒增了很多不必要的工作量,仅仅是为了用另一种语言,更抽象地控制一个 LED 灯?
还是说你能帮我设计这套平台,那么怎么收费?如果我要出货 100 万套,成本控制,生产,各种 EMC 之类的测试,都是你帮我解决吗?
那不是变成了外包了吗?
嵌入式开发门槛太高,最大的问题在于和实体世界太接近,无法做太多抽象,不同的需求,最佳解决方案会根据实际情况产生非常大的差异;越是抽象了,就离嵌入式越远,抽象本身就是和嵌入背道而驰的。
而且,对硬件做抽象,那不就是相当于重新走了一次发明软件的路了吗?
电脑就是一种经过抽象的“嵌入式设备”。我要做一个产品,直接把一部 PC 塞进去是不是更好?
或者其他运行 Linux 的设备,我喜欢用什么语言,什么环境开发不可以? JavaScript 可以,Python 可以,或者其他什么 ooxx 语言都可以。
所以是没必要的?那当然不是,部分细分市场的需求还是可以满足的。
像 这种,虽然对于真正的嵌入式开发领域而言基本没什么意义,但是却为初学者和一般爱好者提供了一个相当不错入门环境。
三种嵌入式开发
第一种单片机
第二种是DSP
这2类编程一般用C,偶尔用汇编。这2类做的系统有的是裸机,有的运行实时操作系统。但是不要被操作系统这几个字迷惑了,他跟Windows,linux之类的差别非常大,怎么说呢,举个例子吧,我们部门做dsp的,他们写程序用c,但是不同于我们学习的C,因为他们没有标准库,没有浮点数运算,基本不用乘法(没有硬件乘法器,一般用移位),然后内存非常小,一般就几k,这种条件下不大可能写的出js虚拟机,就算google逆天写出来了,ram也不够用,他们经常用掉90%多内存,然后我听他们讨论最多的就是内存不够。哦,对了,他们操作系统用的是ucos,这个系统是开源的,有兴趣你可以去看下,5500行代码,有个德国人移植到Windows上了,csdn上有下载,不过是用lcc编译器编译的,改一点点就可以用vc或者gcc编译,当然,这个和在dsp上运行有本质区别,他是用多线程模拟硬件时钟中断的。
第三类是ARM M系列
其实也是单片机,功能稍微强大点。
第四类是ARM9系列 ,ARM A系列
这类可以运行高级操作系统了,比如linux,android,虽然性能和资源比pc差很多,但是编程方式已经差不多了。我们部门就用ARM9,运行linux,有屏幕的设备界面用qt,没界面的一般用php或者是cgi提供网页(web服务器用boa),逻辑一般用c,不过现在貌似要全面切换成qt和lua。