<script>
var a; //全局变量
function test()
{
var b=20; //局部变量
return b; //返回局部变量的值
}
a=test(); //将函数返回值赋给全局变量a
alert("全局变量a的值是: "+a);
</script><html>
<head>
<script type="text/javascript">
//var str=documentgetElementById("a"); //注意的是var str不可以放在这里,不然str变量为null
function test()
{
var str=documentgetElementById("a");
alert (strinnerHTML);
}
</script>
</head>
<body>
<div id="a">全局变量</div>
<input type="button" value='点我' onclick="test()"/>
</body>
</html>
无法定义这种的js变量
解决思路:
1、由服务器端session对这个变量进行保存,然后再不同页面获取该值
2、保存在cookie中,再不同页面获取,如果保密要求低,推荐这种方式
代码举例:
function setCookie(name,value){
var Days = 30;
var exp = new Date();
expsetTime(expgetTime() + Days2460601000);
documentcookie = name + "="+ escape (value) + ";expires=" + exptoGMTString();
}
//读取cookies
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;])(;|$)");
if(arr=documentcookiematch(reg))
return unescape(arr[2]);
else
return null;
}
使用
ahtml
function add(){ setCookie('name',documentgetElementById("yonghuming")value);}
bhtml
function huode(){ alert(getCookie('name')); }首先JS文件编码再引入页面中可以理解为就是对jquery进行了封装。让页面不至于被各种代码冗余,那样可读性很差,引入JS文件到页面后,其实跟写在页面内部是一个效果,只是这样会更方便管理,增加可读性。那么基于这样的情况,两个 JS文件里,如果先引入页面的JS文件里定义了全局变量,那么第二个引入的JS文件,对于前一个JS所定义的全局变量,是可以进行修改。(一) 编译好的文件
简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以将这个设置为全局就好了。
1
2
3
cd node-v01028-linux-x64/bin
ls
/node -v
这就妥妥的了,node文件夹具体放在哪,叫什么名字随你怎么定。然后设置全局:
1
2
ln -s /home/kun/mysofltware/node-v01028-linux-x64/bin/node /usr/local/bin/node
ln -s /home/kun/mysofltware/node-v01028-linux-x64/bin/npm /usr/local/bin/npm
这里/home/kun/mysofltware/这个路径是你自己放的,你将node文件解压到哪里就是哪里。
(二)通过源码编译问题 :
<script>
var a="aaa"; // -> 声明 全局变量 a
function add(e){ // -> 声明 函数 add() ,声明传参 局部变量 e
e="bbb"; // -> 重新赋值给 局部变量 e
return e; // -> 将形参 局部变量 e 的值返回
}
add(a); // -> 调用 函数 add() , 将 全局变量 a 传入
alert(a); // -> d框输出 全局变量 a(此时 全局变量 a 的值仍然是 'aaa' )
</script>
回答 :
因为 函数 add() 仅仅被声明调用而函数返回值没有被任何变量或对象接收
所以 函数 add () 的返回值被自动回收
你可以将 add () 返回值赋值给予 全局变量 a
语法 :
a = add(a); // -> 调用 函数 add() , 将 全局变量 a 传入,将 函数 add() 的返回值 'bbb' 赋值给予 全局变量 a
windowalert(a); // -> d框输出 全局变量 a(此时 全局变量 a 的值是 'bbb' )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)