javascript应用实例

合集下载

javascript实现10个球随机运动、碰撞实例详解

javascript实现10个球随机运动、碰撞实例详解

javascript实现10个球随机运动、碰撞实例详解本⽂实例讲述了javascript实现10个球随机运动、碰撞的⽅法。

分享给⼤家供⼤家参考。

具体如下:学了⼀段时间的javascript了,做过⼀些⼩案例,⽬前最有难度的就是10个⼩球随机碰撞效果,这不,把它上上来与⼤家分享⼀下,相信不少和我⼀样的菜鸟在开始上⼿编程时都会有不少的困惑,希望它能给⼀些⼈带来帮助。

效果要求:10个⼩球在页⾯随机移动,碰到窗⼝边界或其他⼩球都会反弹思路:1、10个⼩球是10个div;2、碰窗⼝反弹,定义vx vy为⼩球的移动变量,以及⼀个弹⼒变量bounce(负值),⼩球碰窗⼝边界时,vx vy分别乘以bounce,则改变了⼩球移动⽅向3、⼩球相碰反弹,说简单点,当两个⼩球的圆⼼距变量dist⼩于其最⼩值(半径之和)则改变球的移动⽅向,实现反弹好了,代码如下:html和js是分开的⽂件哟test.html⽂件如下:<html><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><style type="text/css">body {margin:0;padding:0;text-align: center;}#screen { width: 800px; height: 640px; position: relative; background: #ccccff;margin: 0 auto;vertical-align: bottom}#inner { position: absolute; left:0px; top:0px; width:100%; height:100%; }#screen p {color:white;font:bold 14px;}.one { background-image:url('bubble.png'); background-position: -66px -58px; }.two { background-image:url('bubble.png'); background-position: -66px -126px;}.three { background-image:url('bubble.png'); background-position: -66px -194px; }.four { background-image:url('bubble.png'); background-position: -66px -263px; }.five { background-image:url('bubble.png'); background-position: -66px -331px; }.six { background-image:url('bubble.png'); background-position: -66px -399px; }.seven { background-image:url('bubble.png'); background-position: -66px -194px; }.eight { background-image:url('bubble.png'); background-position: -66px -263px; }.nine { background-image:url('bubble.png'); background-position: -66px -331px; }.ten{ background-image:url('bubble.png'); background-position: -66px -399px; }</style></head><body><div id="screen" ><p>hi test it!</p><div id="inner"></div></div><input type="button" id="start" value="start" ><input type="button" id="stop" value="stop"><br><br><br><script type="text/javascript" src="test.js"></script></body></html>test.js⽂件如下:var getFlag=function (id) {return document.getElementByIdx_x(id); //获取元素引⽤}var extend=function(des, src) {for (p in src) {des[p]=src[p];}return des;}var clss=['one','two','three','four','five','six','seven','eight','nine','ten'];var Ball=function (diameter,classn) {var ball=document.createElement_x("div");ball.className=classn;with(ball.style) {width=height=diameter+'px';position='absolute';}return ball;}var Screen=function (cid,config) {//先创建类的属性var self=this;if (!(self instanceof Screen)) {return new Screen(cid,config)}config=extend(Screen.Config, config) //configj是extend类的实例self.container=getFlag(cid); //窗⼝对象self.ballsnum=config.ballsnum;self.diameter=56; //球的直径self.radius=self.diameter/2;self.spring=config.spring; //球相碰后的反弹⼒self.bounce=config.bounce; //球碰到窗⼝边界后的反弹⼒self.gravity=config.gravity; //球的重⼒self.balls=[]; //把创建的球置于该数组变量self.timer=null; //调⽤函数产⽣的时间idself.L_bound=0; //container的边界self.R_bound=self.container.clientWidth;self.T_bound=0;self.B_bound=self.container.clientHeight;};Screen.Config={ //为属性赋初值ballsnum:10,spring:0.8,bounce:-0.9,gravity:0.05};Screen.prototype={initialize:function () {var self=this;self.createBalls();self.timer=setInterval(function (){self.hitBalls()}, 30)},createBalls:function () {var self=this, num=self.ballsnum;var frag=document.createDocumentFragment(); //创建⽂档碎⽚,避免多次刷新 for (i=0;i<num;i++) {var ball=new Ball(self.diameter,clss[ Math.floor(Math.random()* num )]);ball.diameter=self.diameter;ball.radius=self.radius;ball.style.left=(Math.random()*self.R_bound)+'px'; //球的初始位置,ball.style.top=(Math.random()*self.B_bound)+'px';ball.vx=Math.random() * 6 -3;ball.vy=Math.random() * 6 -3;frag.appendChild(ball);self.balls[i]=ball;}self.container.appendChild(frag);},hitBalls:function () {var self=this, num=self.ballsnum,balls=self.balls;for (i=0;i<num-1;i++) {var ball1=self.balls[i];ball1.x=ball1.offsetLeft+ball1.radius; //⼩球圆⼼坐标ball1.y=ball1.offsetTop+ball1.radius;for (j=i+1;j<num;j++) {var ball2=self.balls[j];ball2.x=ball2.offsetLeft+ball2.radius;ball2.y=ball2.offsetTop+ball2.radius;dx=ball2.x-ball1.x; //两⼩球圆⼼距对应的两条直⾓边dy=ball2.y-ball1.y;var dist=Math.sqrt(dx*dx + dy*dy); //两直⾓边求圆⼼距var misDist=ball1.radius+ball2.radius; //圆⼼距最⼩值if(dist < misDist) {//假设碰撞后球会按原⽅向继续做⼀定的运动,将其定义为运动Avar angle=Math.atan2(dy,dx);//当刚好相碰,即dist=misDist时,tx=ballb.x, ty=ballb.ytx=balla.x+Math.cos(angle) * misDist;ty=balla.y+Math.sin(angle) * misDist;//产⽣运动A后,tx > ballb.x, ty > ballb.y,所以⽤ax、ay记录的是运动A的值ax=(tx-ballb.x) * self.spring;ay=(ty-ballb.y) * self.spring;//⼀个球减去ax、ay,另⼀个加上它,则实现反弹balla.vx-=ax;balla.vy-=ay;ballb.vx+=ax;ballb.vy+=ay;}}}for (i=0;i<num;i++) {self.moveBalls(balls[i]);}},moveBalls:function (ball) {var self=this;ball.vy+=self.gravity;ball.style.left=(ball.offsetLeft+ball.vx)+'px';ball.style.top=(ball.offsetTop+ball.vy)+'px';//判断球与窗⼝边界相碰,把变量名简化⼀下var L=self.L_bound, R=self.R_bound, T=self.T_bound, B=self.B_bound, BC=self.bounce;if (ball.offsetLeft < L) {ball.style.left=L;ball.vx*=BC;}else if (ball.offsetLeft + ball.diameter > R) {ball.style.left=(R-ball.diameter)+'px';ball.vx*=BC;}else if (ball.offsetTop < T) {ball.style.top=T;ball.vy*=BC;}if (ball.offsetTop + ball.diameter > B) {ball.style.top=(B-ball.diameter)+'px';ball.vy*=BC;}}}window.onload=function() {var sc=null;getFlag('start').onclick=function () {document.getElementByIdx_x("inner").innerHTML='';sc=new Screen('inner',{ballsnum:10, spring:0.8, bounce:-0.9, gravity:0.05});sc.initialize();}getFlag('stop').onclick=function() {clearInterval(sc.timer);}}测试后的效果还是很不错的,各位也许会觉得代码挺长,但是其思路还是蛮清晰的:⾸先创建Screen类,并在Screen的构造函数中给出了球移动、碰撞所需的各种属性变量,如ballsnum、spring、bounce、gravity等等然后⽤原型prototype给出相应的函数,如创建球,createBalls,球碰撞hitBalls,球移动moveBalls,给每个函数添加相应的功能、最后⽤按钮点击事件调⽤函数,仅此⽽已。

seatable javascript 范例

seatable javascript 范例

seatable javascript 范例下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by the editor. I hope that after you download them, they can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, our shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!在当今互联网时代,JavaScript已经成为了前端开发中不可或缺的一部分。

javascript应用实例

javascript应用实例

javascript应用实例JavaScript应用实例:制作一个简单的计算器JavaScript是一种广泛应用于网页开发的脚本语言,它可以为网页添加动态效果和交互性。

在本文中,我们将介绍如何使用JavaScript 制作一个简单的计算器。

我们需要在HTML文件中创建一个表单,其中包含数字和运算符按钮以及一个显示结果的文本框。

代码如下:```<form><input type="text" id="result" readonly><br><input type="button" value="1" onclick="addNumber(1)"><input type="button" value="2" onclick="addNumber(2)"><input type="button" value="3" onclick="addNumber(3)"><input type="button" value="+" onclick="addOperator('+')"><br><input type="button" value="4" onclick="addNumber(4)"><input type="button" value="5" onclick="addNumber(5)"><input type="button" value="6" onclick="addNumber(6)"><input type="button" value="-" onclick="addOperator('-')"><br><input type="button" value="7" onclick="addNumber(7)"><input type="button" value="8" onclick="addNumber(8)"><input type="button" value="9" onclick="addNumber(9)"><input type="button" value="*" onclick="addOperator('*')"><br><input type="button" value="0" onclick="addNumber(0)"><input type="button" value="C" onclick="clearResult()"><input type="button" value="=" onclick="calculate()"><input type="button" value="/" onclick="addOperator('/')"></form>```在这个表单中,我们使用了四个数字按钮、四个运算符按钮和一个清除按钮。

20个javascript开发案列

20个javascript开发案列

题目:20个JavaScript开发案例在当今数字化和信息化的时代,JavaScript已经成为了前端开发的主流语言之一。

它可以帮助开发者实现网页的动态交互效果,为用户带来更加流畅和丰富的网页体验。

下面将介绍20个优秀的JavaScript 开发案例,展示了JavaScript在不同领域的应用和潜力。

一、基础开发案例1. 轮播图实现在网页设计中,轮播图是非常常见的元素,它可以吸引用户的注意力,增加网页的互动性。

使用JavaScript编写轮播图实现的案例可以展示其在网页交互方面的强大功能。

2. 视频播放器JavaScript也可以用于实现网页上的视频播放功能。

通过调用浏览器的API接口,开发者可以设计出功能完善的视频播放器,实现视频的加载、播放、暂停和控制等功能。

3. 表单验证在网页开发中,表单是常见的用户交互元素。

通过JavaScript开发表单验证功能,可以在用户输入信息时进行实时的验证,提高用户的输入准确性和网页的友好性。

4. 下拉菜单下拉菜单是网页导航和内容选择中的常见组件,使用JavaScript可以实现下拉菜单的动态展开和收缩效果,增加网页的交互性和美观性。

5. 弹窗效果JavaScript可以实现各种形式的弹窗效果,如提示框、确认框、模态框等,为用户提供更好的提示和交互体验。

二、数据可视化案例6. 图表库JavaScript拥有成熟的图表库,如Echarts、Highcharts等,可以快速实现各种类型的数据可视化,满足各种复杂的图表需求。

7. WebGL应用JavaScript也可以结合WebGL技术实现3D数据可视化应用,如三维地图、虚拟现实场景等,展现出JavaScript在数据可视化方面的强大潜力。

8. 大屏数据展示使用JavaScript编写大屏数据展示应用,可以实现数据的实时更新和动态展示,为企业、政府等提供直观的数据展示和分析功能。

9. 实时监控系统JavaScript在实时监控系统中的应用也很广泛,通过实时更新数据和动态图表展示,可以实现对各种设备、系统和环境的监控和分析。

javascript大作业案例

javascript大作业案例

javascript大作业案例JavaScript大作业案例1. 2048游戏2048游戏是一款经典的数字消除游戏,玩家通过滑动数字方块,使相同数字的方块相加,最终得到2048这个数字的方块。

这个案例可以通过JavaScript来实现游戏逻辑、界面交互以及分数统计等功能。

2. 在线购物车在线购物车是一个常见的电商网站功能,用户可以通过点击“加入购物车”按钮将商品添加到购物车中,然后可以查看购物车的商品列表、修改商品数量、删除商品等操作。

这个案例可以通过JavaScript实现购物车的动态更新、购物车总价的计算、商品数量的统计等功能。

3. 图片轮播图片轮播是网站常见的一种效果,可以展示多张图片,并通过自动播放或手动切换的方式进行显示。

这个案例可以通过JavaScript实现图片轮播的逻辑,包括图片的切换、自动播放的控制、切换按钮的显示等功能。

4. 数据可视化数据可视化是将抽象的数据通过图表、地图等可视化的方式展示出来,以便用户更直观地理解和分析数据。

这个案例可以通过JavaScript调用数据可视化库,如D3.js或Echarts,来实现数据的图表展示、交互操作、数据筛选等功能。

5. 在线聊天室在线聊天室是一个可以实现实时通信的网页应用,用户可以通过输入文字、发送图片等方式与其他用户进行交流。

这个案例可以通过JavaScript结合WebSocket技术来实现实时通信的功能,包括消息的发送、接收、显示等操作。

6. 博客系统博客系统是一个可以发布、编辑、管理文章的网站,用户可以注册账号、登录、撰写文章、查看文章列表等操作。

这个案例可以通过JavaScript实现用户的注册登录功能、文章的发布与编辑功能、文章列表的展示与分页等功能。

7. 在线音乐播放器在线音乐播放器可以实现在线播放音乐、创建歌单、收藏喜欢的音乐等功能。

这个案例可以通过JavaScript结合音乐API来实现音乐的搜索、播放、歌单的创建与管理等功能。

Javascript实例教程querySelectorAll方法

Javascript实例教程querySelectorAll方法

Javascript实例教程querySelectorAll方法querySelectorAll(方法是JavaScript中常用的DOM方法之一,用于选择文档中的元素并返回一个NodeList对象。

NodeList对象是一个类似数组的对象,它包含了匹配选择器的所有元素。

querySelectorAll(方法的语法如下:```document.querySelectorAll(selector)```其中,selector是一个用于选择元素的CSS选择器字符串。

该方法会返回所有匹配选择器的元素列表。

下面是一个具体的例子,演示如何使用querySelectorAll(方法选择所有class为"example"的div元素:```javascriptvar elements = document.querySelectorAll(".example");```以上代码会返回一个NodeList对象,包含了文档中所有class为"example"的div元素。

使用querySelectorAll(方法,我们可以通过各种CSS选择器选择元素。

例如,我们可以选择所有class为"example"的div元素,并设置它们的文本内容为"Hello World":```javascriptvar elements = document.querySelectorAll(".example");for (var i = 0; i < elements.length; i++)elements[i].textContent = "Hello World";```上面的代码会将所有class为"example"的div元素的文本内容设置为"Hello World"。

exceljs.js的应用实例

exceljs.js的应用实例

在本文中,我将为您介绍ExcelJS.js的应用实例。

ExcelJS.js是一个强大的JavaScript库,用于创建、读取和编辑Excel文件。

它提供了丰富的功能和灵活的API,可以满足各种复杂的Excel操作需求。

通过本文,您将了解ExcelJS.js的基本用法和一些实际的应用案例,希望对您有所帮助。

1. ExcelJS.js简介ExcelJS.js是一个基于JavaScript的Excel处理库,它可以在浏览器和Node.js环境下使用。

通过ExcelJS.js,您可以轻松地创建、读取和修改Excel文件,包括表格、图表、公式、样式等内容。

它支持多种Excel格式,包括xlsx、xls、csv等,同时提供了丰富的API和文档,方便开发者进行定制化的操作。

2. ExcelJS.js的基本用法要使用ExcelJS.js,首先需要安装它的npm包,并在项目中引入相关组件。

您可以使用ExcelJS的API来创建Workbook、Worksheet、Row和Cell等对象,通过这些对象可以进行Excel文件的各种操作。

您可以添加数据到单元格、设置单元格的样式、创建图表等。

ExcelJS.js还支持读取已有的Excel文件,并对其进行修改和保存。

3. 实际应用案例下面,我将介绍一些实际的应用案例,以展示ExcelJS.js的强大功能和灵活性。

案例一:数据导出假设您正在开发一个带有报表导出功能的Web应用,用户可以在页面上选择特定的数据,并导出为Excel文件。

通过ExcelJS.js,您可以将用户选择的数据按照特定的格式导出为Excel文件,并提供下载信息。

这样,用户可以方便地将数据保存为Excel,方便后续分析和处理。

案例二:数据处理假设您需要对大量的数据进行分析和处理,在Excel中手工操作可能会非常耗时。

通过ExcelJS.js,您可以编写脚本来自动化这些操作,比如对数据进行排序、筛选、计算等。

第11章 JavaScript综合应用实例

第11章 JavaScript综合应用实例

谢谢大家
建设目标
建设思路 二级菜单 培养方案
负责人
队伍结构 任课教师
经费投入
实践教学 教材改革
课程改革
教材改革
教学管理
合作办学
综合实例1:下拉ቤተ መጻሕፍቲ ባይዱ单的设计
2.实例效果
项目演示
综合实例2:JavaScript在线测试系统设计
1.实例介绍
项目演示
综合实例3:JavaScript在线脚本编辑器
1.实例介绍
项目演示
第11章 JavaScript综合应用实例
第11章 JavaScript综合应用实例
本章要点
1. 综合实例1:下拉菜单的设计 2. 实例2:JavaScript在线测试 系统设计 3. 实例3:JavaScript在线脚本 编辑器
综合实例1:下拉菜单的设计
1.实例介绍
按照下表设计下拉菜单
一级菜单 首页 专业建设 师资队伍 教学条件 改革建设
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

异常处理结构
• 使用try-catch-finally处理异常用户可以使用该 结构处理可能发生异常的代码,如果发生异常, 则由catch捕获并进行处理,其语法如下: • try{ //要执行的代码}catch(e){ • //处理异常的代码} • finally{ • //无论异常发生与否,都会执行的代码}即 使不在catch块内进行处理,catch标识及其参 数e也是必须写的,否则会产生语法错误,而 finnally则不是必须的。
什么是脚本程序
脚本代码的位置
如何实现 JavaScript
• HTML 的 <script> 标签用于把 JavaScript 插入 HTML 页面当中。 • 那些不支持 JavaScript 的浏览器会把脚本作为页面的 内容来显示。为了防止这种情况发生,我们可以使用这 样的 HTML 注释标签: • <html><body> • <script type="text/javascript"> • <!-• document.write("Hello World!"); • //--> • </script></body></html>
使用throw语句抛出异常
• 在JavaScript中有其内部的异常机制,在遇到非法操作 时能自动抛出异常。实际的开发中,随着程序的复杂, 需要能自己实现异常,这可以通过throw语句来实现: throw value; • 其中value就是要抛出的异常变量,它可以是 JavaScript中的任何一种类型。但在JavaScript内部的 异常中,异常参数(即 catch(e)中的e)是一个名为 error的对象,可以通过new Error(message)来创建这 个对象,异常的描述被作为error对象的一个属性 message,可以由构造函数传入,也可以之后赋值。 通过这个 异常描述message,可以让程序获取异常的 详细信息,从而自动处理。
元素:<head>
元素:<body>
元素:<title>
属性:href
元素:<a>
元素:<h1>
文本:“文档标题”
文本:“我的链接”
文本:“我的标题”
演示示例:使用DOM改变超链接图解来自核心语法关键字
• 根据规定,关键字是保留的,不能用作变量名 或函数名。下面是ECMAScript关键字的完整列 表: • break else new var typeof case finally return void catch for switch while default if throw delete in try do instanceof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public
数据类型的解释
• undefined类型只有一个值即undefined,当声明 的变量未初始化时将被赋予值undefined.值 undefined实际上是从null值中派生出来的,因此 alert(undefined==null);返回true.尽管其相等但 是含义是不同的undefined是声明了变量但未对 该变量赋值,null则表示对一个变量赋值为空 值.number类型表示实数或浮点数NaN表示非 数是number类型eg:typeof(NaN);返回值为 number类型;string类型[不对字符和字符串加 以区别]使用单引号或双引号;boolean的两个值 true或false.
本门课程目标
使用JavaScript实现表单验证 使用JavaScript制作网页广告特效 使用JavaSctipt制作弹出窗口特效 使用JavaScript实现时钟特效 使用JavaScript实现级联显示功能 使用JavaScript+CSS实现CSS样式特效 使用JavaScript动态创建页面元素
• 代码区分大小写 • 变量、对象和函数的名称
• 分号
嵌入网页的方式
• 使用<script>标签[其位置不固定,可以在 head,body标签中的任何地方] • 使用外部JavaScript文件[以.js的后缀保存该 文件然后指定给<script>标签的src属性]eg: • <script src="hello.js" type="text/javascript"><script> • 直接在html标签中
JavaScript的使用方式
Html页面内嵌JS代码 外部JS文件
<script src="hello.js" language="javascript"></script>
简短缩写方式
<input name="btn" type="button" value="弹出消息框" onclick="javascript:alert('欢迎你');"/>
typeof
typeof运算符返回值如下:
undefined:变量被声明后,但未被赋值
string:用单引号或双引号来声明的字符串
boolean:true或false
number:整数或浮点数
object:javascript中的对象、数组和null
演示示例:typeof的功能和用法演示
typeof的实例
第一章问题
脚本实现输出
• <script type="text/javascript">//脚本开始 • var count=0; • document.write("淘宝欢迎您! ");//document.write()方法相当于java中的 print()方法,表示往页面输出显示信息。 • for(i=0;i<5;i++) • document.write("<H2>淘宝欢迎您!</H2>"); • </script>//脚本结束[如果不使用script标签, 其里面的文本就会被当作纯文本来处理]
JavaScript异常
• 在代码的运行过程中,错误是不可避免的, 总的来说,错误发生于两种情况:一是程 序内部的 逻辑或者语法错误,二是运行环 境或者用户输入中不可预知的数据造成的 错误。对于前者,就称之为错误(error), 可以通过调试程序来解决;而后一种则更 多的称之为异常(exception),顾名思义, 就是超出常规,没有按程序设计的意愿来 输入数据。当然,异常还会有许多种类型。
运算符号
算术运算符
赋值运算符
比较操作符
逻辑运算符
位运算符
if条件结构
if条件结构
如果if或else后只有一条语句,则可以 省略大括号,但是如果if..else后有多条 语句则其语句必须在大括号内。
什么是JavaScript
JavaScript组成
JavaScript
ECMAScript
DOM
BOM
ECMAScript
语法标准
语法
变量和数据类型
运算符
逻辑控制语句
关键字、保留字 对象
编码遵循ECMAScript标准
BOM游览器对象
文档对象模型
DOM
文档:document 根节点:<html>
html常用标签
标签特征
• 所有的标签都必须有个相应的结束标签,即 所有的标签都必须关闭,如果是单独不成对 的标签要在标签后加'/'关闭它. • 所有标签的元素和属性名称都必须使用小 写.所有的属性值必须使用" "引起来。
form表单
• <form action="表单提交到服务器的URL" method="设置提交方式" target="用于指定服务 器返回结果显示的目标窗口" title="设置鼠标在 表单任意停留的时候游览器用黄色小浮标显示文 本信息"></form> type:hidden[name,value];image[name,src];text[ name,value];password[name,value];radio[name ,value,checked];checkbox[name,value];file[nam e没有value值]submit,reset,button[name,value]
数据类型
• • • • undefined 未定义的数据类型 null空类型 number 数值类型 string 字符串类型 boolean 布尔类型 typeof[运算符]来判断一个值或变量究竟属 于哪种数据类型:typeof(变量或值)返回的结 果有 undefined,number,boolean,string,object[ 如果变量是null型或者变量是一种引用类型 例如对象,函数]。
求两个数的和实例
• • • • • • • • • • • • <script language="JavaScript" type="text/javascript"> <!—//函数默认要求参数为数字function sum(a,b){ a=parseInt(a); b=parseInt(b); //如果a或b不能转换为数字则抛出一个异常对象 if(isNaN(a) || isNaN(b)){ throw new Error("arguments are not numbers"); } return a+b;} try{//错误的调用 var s=sum("c","d");//因为传入字母所以抛出异常 }catch(e){//显示异常的详细信息 alert(e.message); }//--></script>使用new Error(message)创建异常对象只是一种默 认的习惯,也是内置异常的实现方式。这不是必需的,完全可以 抛出任意数据类型的异常,例如一个整数,来作为异常的描述。 只要在程序中抛出异常和捕获异常能匹配即可。
相关文档
最新文档