<html>
<head>
</head>
<body>
<script type="text/javascript">
var name,a={};
window.onload=function(){
if(!name)
name=prompt()
}
</script>
</body>
</html>
代码以上.
碰到问题是:第一次打开页面时需要给name赋值,但刷新后name的值仍在,(!name)==false,我之前的认知中页面刷新变量都会销毁的,所以挠头了半天不知道哪里的原因.
页面本来代码量不止这么点,一直没注意到会是var name,a={};这一行在起作用!!
后来把这行改为var name='';然后每次刷新后都会执行prompt了
但是var name,a={};//typeof(name)==string //(name=='')==true,
这name不还是''吗?为什么这种写法就能保存值呢...
想问问这是什么用法及原理....?
name
是window
对象的一个属性,window.name
比较特殊,name
值在不同的页面甚至不同域名加载后依旧存在,是解决跨域的一种方案。