网络编程
位置:首页>> 网络编程>> JavaScript>> Javascript学习第一季 二(2)

Javascript学习第一季 二(2)

作者:cssrain 来源:无忧脚本 发布时间:2008-06-24 18:20:00 

标签:函数,javascript,学习

6 , 变量的作用域:
Js有2种:全局和局部。
从名字的定义可以知道,全局变量的作用域是全局性的。
在js代码中,处处都有定义。
局部变量的作用域是局部的。
在函数体内定义。

同名的局部变量的优先级比同名的全局变量高,下面的例子说明了这点:

var a ="abc"; //全局变量
function check(){
var a = "efg"; //同名的局部变量
document.write(a); 
}
check(); //  输出 efg

看一个比较经典的例子:
 

 var scope = "global";
function f(){
     alert(scope); //输出 undefined
     var scope = "local";
     alert(scope); //输出 local
}
f();

为什么第一个会输出undefined 呢?

因为js规定当 局部变量和全局变量的名称相同的时候,函数体内的同名全局变量会被隐藏。
那么刚才例子 实际 等价于:

function f(){
var scope;
alert(scope); 
     scope = "local";
     alert(scope);
}
f();

OK,如果你看懂了这个例子,说明你对局部和全局的一些区别稍微了解了。

7 , 变量的作用域:

从里到外:
词法作用域    作用域链    变量查找

var x = 1;
function f(){
  var y =2 ;
function g(){
   var z =3 ;
}

调用g()对象; z =3 ;
调用f()对象; y =2 ;


全局变量  x = 1       在此定义了吗?
         是
否           
获得值
在此定义了吗?
         是
否           
获得值
在此定义了吗?
         是
否           
获得值
未定义

8 , 客户端全局变量:

在客户端js中,Window对象代表浏览器窗口,他是一个全局对象。、

比如 ;我们常用的 parseInt() , Math() 都是Window对象定义的属性。

Js允许多个全局变量的执行环境,每个环境有不同的全局对象。

比如:客户端js的每个独立的浏览器窗口,或者同一窗口的不同帧。

其中的代码都运行在自己的执行环境中,具有自己的全局对象。

当然可以使用 表达式 parent.frames[0].x  ; 来引用第一个帧中的全局变量 x  ;这样就把不同帧中的代码联系起来了。

不过这里有安全性问题。

总结;

主要讲了 传值和传址 和 函数的作用域 。

对新手来说稍微难理解些。如果还有不懂,可以google 搜索资料或者联系我 ,可以去我的blog 给我留言 :http://www.cssrain.cn/LoadMod.asp?plugins=GuestBookForPJBlog

今天讲到这里了,呵呵,明天继续。相信大家的js技术会一步步提高的。

由于格式问题。建议下载word版看:

远程下载:http://www.cssrain.cn/demo/a/1-2.doc

本站下载Javascript学习第一季(2).rar (12.83 KB)

0
投稿

猜你喜欢

  • 内容摘要: ASP具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置函数。ASP开发环境提供了两种
  • 近日,有关微软Open XML标准的问题又引发了某些业内人士的关注。其一是因为日前ISO(国际标准组织)成员南非和巴西相继就ISO批准微软的
  • 学习复杂代码的最好方法是简化:(function(win, undefined) {    var jQuery = f
  • MaxDB和MySQL是独立的数据库管理服务器。系统间的协同性是可能的,通过相应的方式,系统能够彼此交换数据。要想在MaxDB和MySQL之
  • 代码如下:<script type=text/javascript src=http://fw.qq.com/ipaddress>
  • 从本篇开始讲述如何用css实现网页的布局,即如何用css控制网页内各个元素的显示位置。如果你是一个初学者,很可能觉得做一个网页的第一步就是布
  • asp之家注:为什么要防止访客频繁刷新页面呢?也许你会说他想刷新就让他刷新吧,没什么关系,而且还增加了网页的PV,呵呵。但是有的页面我们可能
  • 目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Stand ard C
  • Access 操作很简单,具体不步骤如下:打开你mdb数据库,工具-->数据库实用工具-->压缩和修复数据库(c)... SQL SERVE
  • 先由exp把数据卸出到文件系统, 产生一个.dmp文件, 然后必要时再由imp将数据装入数据库. 对于一般中小型数据库来说, 全数据库的ex
  • 本文将介绍使用Dreamweaver来制作滑动菜单的方法,言归正传,废话少说。准备工作如下: 1. 在dw中新建一个空白文档(或者打开你要添
  • 引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就
  • 注:本文是应Alan邀请为《CSS布局实录》写的一个web标准入门指导。书已经上市近一年了,现在摘选出来,给初学者一个参考。希望了解更多实现
  • delete 删除一张大表时空间不释放,非常慢是因为占用大量的系统资源,支持回退操作,空间还被这张表占用着。truncate table 表
  • 做程序开发的人都知道版本控制的重要性, 代码的管理好说,TFS/SVN/VSS/CVS,哪个都能用。但涉及到数据库的版本控制,就不是太好做的
  • 姓名的翻译: 英语是名(First name)在前,姓(Last name)在后。中文地址的翻译:如果你英语水平不高,填表时只要国家名用英语
  • 测试代码:输出简单的ul li1.asp代码如下:<% response.write "<ul>" r
  • 在改进SQL Server 7.0系列所实现的安全机制的过程中,Microsoft建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQ
  • PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的
  •  ---- Oracle是关系型数据库管理系统,它功能强大、性能卓越,在当今大型数据库管理系统中占有重要地位。在我们开发的一MIS
手机版 网络编程 asp之家 www.aspxhome.com