javascript 的作用域及全局变量(zhuan)
本文参考自:http://www.cnblogs.com/mophee/archive/2009/03/15/1412590.html
看到一博客里探讨javascript 里作用域的问题
例子1:
var tt = 'aa';
function test(){
alert(tt);
var tt = 'dd';
alert(tt);
}
test();
例子2:
var tt = 'aa';
function test(){
alert(tt);
tt = 'dd';
alert(tt);
}
test();
两个例子有细微的差别,就是在定义tt = 'dd'; 时一个是var tt = 'dd'; 一个是tt = 'dd';这就导致了完全不同的结果:例一:undefined和dd 例二:aa 和dd
引用“在定义它们的作用域里运行,而不是在执行它们的作用域里运行”;
例一中:test函数内部的“var tt='dd'”将会致使“var tt='aa'”在test函数被调用时完全被隐藏。而且,tt是在第一个alert语句之后定义,所以在调用到第一个alert时,tt是还没有被赋值的。这样说可能会清楚一点,即,在定义test函数时,当定义第一个alert(tt)时,这里会记录tt是作用域链中的一个变量但不会记录它(tt)的值,函数定义完毕后tt就添加到作用域里,所以第一个alert语句能够找到该作用域里的tt(即,相当于找到一个已经在函数内部声明,但未被赋值的 tt)。
例二中则定义了全局变量
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cnkiminzhuhu/archive/2009/03/16/3993575.aspx
相关文档:
javascript得到屏幕分辨率和网页可见区域等方法
<body><SCRIPT LANGUAGE="JavaScript">...
var s = "";
s&n ......
下面的HTML动画就说明了利用setTimeout函数来创建多个闭包:
<html>
<head>
<title>简单的闭包演示</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<mce:style><!--
body{
font-size ......
1 history.go(0)
2 location.reload()
3 location=location
4 location.assign(location)
5 document.execCommand('Refresh')
6 window.navigate(location)
7 location.replace(location)
8 document.URL=location.href
自动刷新页面的方法:
1、自动刷新:
<script type="text/javascript">setInt ......
JS自带函数
concat
将两个或多个字符的文本组合起来,返回一个新的字符串。
var a = "hello";
var b = ",world";
var c = a.concat(b);
alert(c);
//c = "hello,world"
indexOf
返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。
var index1 = a.indexOf("l");
//index1 ......
1.document.formName.item("itemName") 问题
说明:IE下,可以使用document.formName.item("itemName")或 document.formName.elements["elementName"];Firefox下,只能使用 document.formName.elements["elementName"].
解决方法:统一使用document.formName.elements["elementName"].
2.集合类对象问题
说明:IE下,可 ......