码迷,mamicode.com
首页 > 编程语言 > 详细

javascript的作用域相关整理。

时间:2017-10-24 17:19:17      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:全局对象   通过   yesterday   div   col   rda   内部使用   属性   function   

javascript作用域相关整理。

一、全局作用域(全局作用域就是在整个代码中都能访问的对象)

第一种全局作用域是最外面定义的变量

var toDay = "Tuesday";
function func() {
    var yesterday = "Monday";
    function func2() {
        console.log(yesterday);
    }
    func2()
}
alert(toDay);
{#提示Tuesday#}
alert(yesterday);
{#报错#}
func();
{#打印Monday#}
func2();
{#报错#}

1,最外面声明的变量,都可以调用。

2,外面函数声明的变量,里面的函数可以调用。

3,外面不能调用函数里面声明的变量。

4,外面不能调用函数里面的函数。

 

第二种是不写var的变量

function func() {
    toDay = "Tuesday";
    var yesterday = "Monday";
    alert(toDay)
}
func();
{#执行函数,提示Tuesday#}
alert(toDay);
{#提示Tuesday#}
alert(yesterday);
{#报错#}

没有定义,直接赋值,自动声明为全局变量。

 

还有一种,所有window对象的属性拥有全局作用域。

一般情况下,window对象的内置属性都拥有全局作用域,例如window.name、window.location、window.top等等。

 

 

二、局部变量(在函数内部,当局部变量与全局变量重名时,局部变量优先级高于全局变量,但不会在内存区域中覆盖全局变量:)

未完待续。。。。

 

 

 

 

总结:

JavaScript通过函数管理作用域。

局部变量:在函数内部声明的变量是局部变量,只能在这个函数内部使用,函数外部不可用。

全局变量:在任何函数外面声明的变量;或是未经声明在函数内部直接简单使用的变量。

全局对象:每个JavaScript环境有一个全局对象,当你在适当的地方使用this的时候可以访问到。你创建的每一个全局变量都是这个全局对象的属性或数组元素。在浏览器中,为方便起见,该全局对象有个附加属性叫做window,此window(通常)指向该全局对象本身。

 

javascript的作用域相关整理。

标签:全局对象   通过   yesterday   div   col   rda   内部使用   属性   function   

原文地址:http://www.cnblogs.com/ArmoredTitan/p/7724248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!