js 如何用字符串取得全局的变量

js 如何用字符串取得全局的变量,第1张

思路:

通过字符串获取或者 *** 作变量需要用到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的变量值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9348111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存