Javascript变量作用域
请先看下题:
if(true)
{
a = 1;
}
alert(a); //输出啥?
if(true)
{
var a = 1;
}
alert(a); //这又输出什么?
在firefox3.5下,第一个输出1;第二个输出undefined!!!
为啥呢?呵呵,本人在此班门弄斧一下:
一般情况下缺省var声明时,默认该变量为全局变量。了解这句话,所有问题也就迎刃而解了!呵呵!
第一道题:变量a缺省var声明,而直接使用,故而默认为全局变量,输出1
第二道题:变量a,在if块中var声明,属局部变量,输出undefined!
相关文档:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; ......
这个随笔其实是为了感谢清风笑给的一个提示,不仅仅是告诉我怎么判断数组,更让我有了认真读一读 《javascript权威指南》的想法。
比较和拷贝其实是一回事,代码如下:
//
//Compare object function
//
function Compare(fobj,sobj)
{
var ftype = typ ......
<html>
<body>
<script type="text/javascript">
//方法一
var num_arr= [];
for (var i = 0 ; i < 10 ; i ++)
{
num_arr[i] = i;
}
document.write(num_arr+'</br>');
//方法二
var obj_arr=new Array();
obj_arr[6]='ss';
document.write(obj_arr.len ......