当javaScript从入门到提高前需要注意的细节:变量部分(2)

来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:32 点击:

13
    alert(typeof window.m); //undefined
14
    alert(typeof window.n); //undefined
15
    fun1();
16
    alert(typeof window.m); //undefined
17
    alert(typeof window.n); //number
18
    
19
 
20
</script>
那么,我们可以明显的得到一个推理,在全局里面,window和this是同一个对象指向。

1
<script type="text/javascript">
2
    alert(this == window);
3
    alert(this === window);
4
</script>
那么下面的函数在其函数状态和对象状态时this的指向是不同的,因为javaScript的动态的执行,当其执行到的时候,才去计算上下文情况。

01
<script type="text/javascript">
02
 
03
    function Fo1() {
04
        return this;
05
    }
06
 
07
    alert(Fo1());
08
    alert(new Fo1());
09
    
10
</script>
样作为变量,使用var声明的变量是不可以删除的,没有使用var声明的变量是可以删除的

01
var x = 10; //全局
02
y = 100; //全局
03
 
04
function fun1() {
05
    var m = 99; //局部
06
    n = 9; //全局
07
    delete m;
08
    delete n;
09
    alert(typeof m); //number
10
    alert(typeof n); //undefined
11
}
12
 
13
delete x;
14
delete y;
15
 
16
alert(typeof x); //number
17
alert(typeof y); //undefined
18
fun1();
19
alert(typeof n); //undefined
在javaScript中声明变量非常的灵活,但这个灵活性,对控制全局和局部要有所注意。

1
function fun1() {
2
    var m = n = 10; //n是全局,m是局部
3
    var x, y = 1, k = 10; //xyk都是局部
4
}
而且,有意思的是,在通常的语言中,我们对变量总是先定义后使用,不过在javaScript中嘛……看以下代码

1
function fun1() {
2
    alert(typeof x); //undefined
3
    alert(typeof y); //undefined
4
    var x = 10;
5
    alert(typeof x); //number
6
}
7
 
8
fun1();
这样的结果,对你来说是完全可以接受和预期的,不过……

1
function fun1() {
2
    alert(x); //undefined
3
    alert(y); //提示y没有定义www.2cto.com
4
    var x = 10;
5
    alert(x); //number

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Gb2312转utf-8编码的方法(vbs+js)
  • 如何使用Ajax技术开发Web应用程序(1)
  • js跳转路径问题
  • JavaScript模仿桌面窗口
  • 用js检测两个线段是否相交
  • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
  • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
  • 我是如何去了解jquery的(六),案例之幻灯片轮换
  • Jquery封装幻灯片效果
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1