当javaScript从入门到提高前需要注意的细节:变量部分(2)
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
相关新闻>>
- Javascript 兼容 IE6、IE7、FF 的“加入收藏”“设为首页”
- 好好学一遍JavaScript 笔记(一)——基础中的基础
- 好好学一遍JavaScript 笔记(二)——encode、数组、对象创建
- 好好学一遍JavaScript 笔记(三)——StringBuffer、prototype
- 好好学一遍javaScript 笔记(四)——Attribute、HTML元素、文档碎
- 好好学一遍JavaScript 笔记(五)——正则表达式基础
- 好好学一遍JavaScript 笔记(六)——正则表达式基础二
- 好好学一遍JavaScript 笔记(七)——RegExp对象与常用正则
- 好好学一遍JavaScript 笔记(八)——冒泡型事件、捕获型事件
- Gridx入门
- 发表评论
-
- 最新评论 更多>>