思路:
通过字符串获取或者 *** 作变量需要用到eval,它能把字符串串作为代码执行。
代码:
<script>var template="asd";
function TemplateLoad(){
eval("template='yyyy';")//注意,这里是代码执行。所以eval中的字符串必须是可执行代码。像你eval('变量名")=值,这种方式是错误的,需要eval('变量名="值"')的方式
alert(template);
}
TemplateLoad();
</script>
页面中的java代码无法获得js中的变量,因为在页面渲染的时候,首先执行的是java代码,编译完成后生成html页面反馈给用户。这时页面只剩下js代码和html代码了。
详细参考jsp的编译过程:>
Java的变量值,理论上在js中是不能获取,但是可以通过间接的方式来获取。
提供两种思路供参考:
1、把java变量的值存在cookie中,js通过cookie去取;
function getCookie(name){
var arr,reg=new RegExp("(^| )"+name+"=([^;])(;|$)");
if(arr=documentcookiematch(reg))
return unescape(arr[2]);
else
return null;
}
var value= getCookie("cookie的name名");
2、把java变量的值赋值给页面中<input type="hidden"/>的value,通过js去取;
var value=documentgetElementById("hidden的ID")value;如果只有一个name是"i"的标签的时
可以用var
tag
=
document
getElementById
("i")
如果有多个name="i"的标签时
用var
tagItems
=
documentgetElementByTagName("i");
然后你想要第几个就var
tag
=
tagItems[j];
j表示第几个。。
另外建议定义标签的时候可以用
这样也可以用第一种方式
1js没提供这个方法,而且对象也没这个属性。
2alert(window["Example"])。js要运行,需要一个运行空间,这个空间可以理解为window,可以理解为一个对象,所有定义的变量和方法都是这个对象的属性。要获取对象的属性,如果知道属性名名字的话,可以直接用对象属性名获取,比如windowExample,如果是用变量的话,就是 对象[属性变量],所以也可以是window["Example"]。js中引用对象的属性的时候,按需要选择这2种访问模式。
3这个属性是在window对象里面,但是如果你叫windwo对象去找那个名字的话,它只会去找它认识的属性,所以找不到自定义的,但是如果你告诉它名字,它就能找到了。好比随便给你个人,叫你说出他的名字,你不一定知道,因为你只知道那些熟人的。但是如果有名字,叫你去找人,那么,就好找了。虽然这个比喻还不是很恰当,但是也差不多了。
在执行的第一行加一个变量var success = false;
在loadedCallBack这个回调函数里面加一个success = true;
就是这个回调函数如果成功调用了的话,最前面的success就变成true了
如果没调用这个回调函数,也就是失败了,那success的值就是false
获取这个值的话,由于这个值是个全局变量,只要写在这个值后面的代码都能获取得到
以上就是关于js 如何用字符串取得全局的变量全部的内容,包括:js 如何用字符串取得全局的变量、页面中嵌的java代码中如何获取到js方法中的var变量、JS怎么获取JSP中Java的变量值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)