回答:var str="<p style=\"color:" + num.toString(16) + "\">test</p>" 。
由于变量让你能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,因此它们十分有用。变量可以保存程序运行时用户输入的数据(如使用InputBox函数在屏幕上显示一个对话框,然后把用户键入的文本保存到变量中)、特定运算的结果以及要在窗体上显示的一段数据等。简而言之,变量是用于跟踪几乎所有类型信息的简单工具。
变量声明后没有赋值的话 编译器会自动提示并赋予默认值。
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息。例如,可以创建一个名为Click Count的变量来存储用户单击Web页面上某个对象的次数。使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。在VB Script中只有一个基本数据类型,即Variant,因此所有变量的数据类型都是Variant。
jsp中是不能引用js变量的,jsp是服务端的,在服务器转发的时候数据已经定死在页面里面了,而js是客户端的,可以不断通过客户端代码来修改js的值,因此js的值不能赋值给jsp的。如果硬要赋值的话可以虚拟一个表单提交,例如:
<form id="testForm" method="post" action="当前页面.jsp">
<input type='hidden' id="test1" name="val1" value="js的值">
</form>
<script>document.getElementById('testForm').submit()</script>
<% String val=request.getParamter('val1') %>
这样就可以了,但是表单已经提交过一次了,一次转发携带的数据将会丢失!
js语言没有这个功能的,只能自定义一个类似的方法:
String.prototype.format=function(o){return this.replace(/\$\{([^\}]+)\}/g,function(m,key){
return o[key]||''
})
}
console.log('test${str}-${str}'.format({str:'abc'}))
类似这样的去实现,不过正如你看到的,依然不够方便