Javascript概述.ppt
《Javascript概述.ppt》由会员分享,可在线阅读,更多相关《Javascript概述.ppt(32页珍藏版)》请在三一办公上搜索。
1、Javascript概述,核心javaScript(简介)变量全局对象闭包客户端javaScriptDOM简介事件和事件处理,javaScript的兄弟姐妹,javaScript、Jscript、ActionScript都是ECMAScript的具体实现。许多程序,尤其是网页浏览器支持ECMAScript。浏览器中的ECMAScript实现添加了与DOM与BOM的接口,可以通过脚本改变网页的内容、结构和样式。,完整的javaScript组成,javaScript,DOM模型Document Object Model,BOM模型Browser Object Model,ECMAScript,ja
2、vaScript的变量,1、变量的声明js里的变量使用关键字var来声明。拓展:重复声明与遗漏声明如果没有var声明一个变量,系统会自动隐身声明它,此时,这个变会自动注册为全局对象(global)的一个属性,也就是说这个变量此时无论写在哪个作用域里,他会自动变成全局变量。如果重复使用var声明,那么之后的语句仅相当于一个赋值语句。,var x;var x=1;/x=1function()alert(x);/1,var x=1;function()var x=2;alert(x);/2,var x=1;function()alert(x);/undefinedvar x=2;,javaScrip
3、t的变量,2、变量的作用域(scope)一个变量的作用域是定义这个变量的区域,全局变量的作用域是全局性的;在函数里面用var定义的变量作用域在函数体内,也叫做局部变量。,function a()var z=3;,function b()var y=2;,function c()alert(z);,注意:js中没有块级作用域,在函数中声明的变量在整个函数中都是有定义的!,执行c();,z在b内吗?,z在c内吗?,z在a内吗?,在,在,在,找到值,找到值,找到值,不在,不在,不在,javaScript的变量,2.5作用域链scope chain每个JavaScript执行环境(Js解释器每次执行一
4、个function时,就会为该function创建一个新的执行环境。)都关联一个作用域链。作用域链是由一组对象组成的链表,Js代码需要查找变量x的值时,会首先从此链表的第一个对象查起,如果该对象含有名为x的属性,取用该属性值,如果没有,继续向下一个查找。,执行环境(运行期上下文),scopechain,scopechain,0,1,2,3,全局对象,某对象,某对象,某对象,javaScript的变量,3、普通变量与作为对象属性的变量没错!他们的作用、用法是完全一样的!有没有什么根本的区别?所有全局变量都会被声明为全局对象的属性,而且,直接声明为全局对象的属性,也会成为全局变量,也就是说两者是等
5、价的。例1:var x=20;alert(window.x);/结果20例2:window.x=20;alert(x);/结果20,javaScript的全局对象,全局对象Global Object当JavaScript解释器启动时,首先执行的动作是创建一个全局对象(global object),这个对象的属性(property)就是程序的全局变量,解释程序会为该对象预定义一些属性(如Infinity、parseInt、等),用户则可通过定义变量来添加属性。在代码顶层,可以用this引用这个全局对象。var x=20;this.x;/20 window.x;/20对于客户端JavaScript
6、,展示在浏览器窗口中的Js代码的全局对象会用一个“窗口对象”(Window Object)来替代,并用window替代this来作对象引用。窗口对象中除了包含普通全局对象中的一些核心属性(parseInt,Math等),还另外定义了一些客户端特有的属性,如navigator和screen。,javaScript的变量,以上是全局变量,局部变量情况也类似。局部变量是存在于函数区域内的变量,当函数在使用时,局部变量会成为该函数所对应的活动对象的属性。,局部变量仍作为对象属性来使用,Js中的闭包closure,闭包,就是封闭了外部函数作用域中变量的内部函数。但是,如果外部函数不返回这个内部函数,闭包
7、的特性无法显现。如果外部函数返回这个内部函数,那么返回的内部函数就成了名副其实的闭包。,Js中的闭包closure,关于闭包,最简单的描述就是 ECMAScript 允许使用内部函数即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。也就是说,内部函数会在外部函数返回后被执行。而当这个内部函数执行时,它仍然必需访问其外部函数的局部变量、参数以及其他内部函数。这些局部变量、参数和函数声明(最初时)的值是外部函数返回时的值,但也会受到内部函
8、数的影响。,Js中的闭包closure,作用:1、获得一个持续的局部变量;2、在面向对象编程方法中模拟私有属性;3、在函数外访问一个函数内的变量;,简单的闭包,function aaa(i)var i;return function()return+ivar x=aaa(3);x();/4x();/5x();/6,这个例子创建了持久的局部变量,类似的,可以创建持久的局部变量来当做全局变量使用。,Js中的闭包closure,function Car(color,price)var color;var price;returngetColor:function()return color,getP
9、rice:function()return price,setPrice:function(newPrice)price=newPricevar mycar=new Car(red,10000);mycar.getPrice();/10000mycar.setPrice(20000);mycar.getPrice();/20000;,如果不提供方法修改color与price的值,那么一个实例在创建之后属性就固定了,防止非法篡改。特别是私有的的量可以采用这种方式模拟。,Js中的闭包closure,function Car(color,price)var color;var price;this.
10、getColor=function()return color;var mycar=new Car(red,10000);mycar.getPrice();/10000mycar.setPrice(20000);mycar.getPrice();/20000;,如果不提供方法修改color与price的值,那么一个实例在创建之后属性就固定了,防止非法篡改。特别是私有的的量可以采用这种方式模拟。,标准文档对象模型W3C DOM,W3C:万维网联盟,是对网络标准制定的一个非赢利组织,像HTML、XHTML、CSS、XML的标准就是由W3C来定制。DOM:文档对象模型是一个与平台和语言无关的接口。将
11、允许程序和脚本动态访问和更新HTML、XML的内容,结构和风格。DOM先后经历了3个版本,分别是1998年10月发布DOM Level 1、2000年11月发布的DOM Level 2和2003年发布的DOM Level 3(3级DOM还没有被广泛支持)。,相对于W3C的1、2、3级 DOM标准,还有被人们称为遗留DOM的接口,他是浏览器混战时代的产物,几乎所有浏览器都支持该标准,他也被人们称之为“0级DOM”,不过它并不是一个正式标准。,0级DOM提供的文档属性与方法:方法:1、document.write()向文档里写东西2、document.writeln()同上3、document.o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Javascript 概述
链接地址:https://www.31ppt.com/p-5435987.html