码迷,mamicode.com
首页 > 其他好文 > 详细

函数作用域

时间:2014-10-12 22:41:38      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:io   ar   java   sp   on   cti   代码   ef   bs   

作用域的作用

作用域是结构化编程语言的一种感念。(决定了变量的可见范围和生命周期,是的代码清晰,易懂),垃圾回收的基本单元。

特点:

JavaScript中的作用域和其他语言的作用域不相同,它不以花括号为一个模块。而且函数的执行顺序是从内到外

var s="123";
var d=function(){
alert(s);
}
d();

这个很简单 大家一猜就是123

var s="123";

var a=function(){

var s="456"

alert(s)
}
a();

这个也很简单,一看就是456  原因就是s重新被声明,函数执行是从内到外。

var c=function(){
alert(s)
var s="789";
}
c()

这个大家可能猜到是789,但是对不起你错了,答案是undefined,为什么呢?

代码的执行顺序是按照作用域执行的,变量是进入函数马上执行的,当函数进入,执行alert(s)时,s变量在函数内部是有的,但是在打印出对象之前,alert()是不知道有s这个变量的,也就是它没有定义或者说是它定义了,但是没有初始化。

函数作用域

标签:io   ar   java   sp   on   cti   代码   ef   bs   

原文地址:http://www.cnblogs.com/limit1/p/4020963.html

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