vartest2 ='tank'//方法1,定义全局变量
varphonecatApp = angular.module('phonecatApp', [//定义一个ng-app
'ngRoute',
'phonecatControllers',
'tanktest'
])
phonecatApp.value('test',{"test":"test222","test1":"test111"})//方法2定义全局变量
phonecatApp.constant('constanttest','this is constanttest')//方法3定义全局变量
无法定义这种的js变量
解决思路:
1、由服务器端session对这个变量进行保存,然后再不同页面获取该值
2、保存在cookie中,再不同页面获取,如果保密要求低,推荐这种方式
代码举例:
function setCookie(name,value){
var Days = 30
var exp = new Date()
exp.setTime(exp.getTime() + Days*24*60*60*1000)
document.cookie = name + "="+ escape (value) + "expires=" + exp.toGMTString()
}
//读取cookies
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^]*)(|$)")
if(arr=document.cookie.match(reg))
return unescape(arr[2])
else
return null
}
使用
a.html
function add(){ setCookie('name',document.getElementById("yonghuming").value)}
b.html
function huode(){ alert(getCookie('name')) }
首先吧,你得知道什么是全局变量:
javascript的变量作用域是根据方法块儿来限定的,方法块儿内声明的变量叫局部变量,方法块儿外声明的变量叫全局变量。
有三种方式声明全局变量:
方法1,在方法块儿外拿var声明:
<script>var a=1
function(){
//我是代码
}
</script>
方法2,不实用var,进行隐式声明:
<script>b=1
function(){
c=2
//b和c都是全局变量。
}
</script>
方法3,用window.变量方式声明:
<script>function(){
window.d=1
}
console.log(d)
//d为全局变量。
</script>