当前位置: 首页 > 编程日记 > 正文

BOM 浏览器对象模型和DOM 文档对象模型

浏览器对象模型BOM

1. 浏览器对象模型介绍

BOM(Browser Object Model) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

BOM的左右

  • 弹出新浏览器窗口的能力;
  • 移动、关闭和更改浏览器窗口大小的能力;
  • 可提供WEB浏览器详细信息的导航对象;
  • 可提供浏览器载入页面详细信息的本地对象;
  • 可提供用户屏幕分辨率详细信息的屏幕对象;
  • 支持Cookies;

2. 各对象详解

3.1 window

window对象是客户端JavaScript的全局对象 是所有客户端JavaScript特性和API的主要接入点 它表示Web浏览器的一个窗口或窗体,并且用标识符window来引用它

window 对象属性

属性描述
document对 Document 对象的只读引用。
history对 History 对象的只读引用。
location用于窗口或框架的 Location 对象。
navigator对 Navigator 对象的只读引用。
screen对 Screen 对象的只读引用。
frames返回窗口中所有命名的框架。该集合是 Window 对象的数组,每个 Window 对象在窗口中含有一个框架。
length设置或返回窗口中的框架数量。
parent返回父窗口。
top返回最顶层的父窗口。
name设置或返回窗口的名称。
opener返回对创建此窗口的窗口的引用。
closed返回窗口是否已被关闭。
defaultStatus设置或返回窗口状态栏中的默认文本。
status设置窗口状态栏的文本。
self返回对当前窗口的引用。等价于 Window 属性。
innerHeight返回窗口的文档显示区的高度。
innerWidth返回窗口的文档显示区的宽度。
outerHeight返回窗口的外部高度,包含工具条与滚动条。
outerWidth返回窗口的外部宽度,包含工具条与滚动条。
pageXOffset设置或返回当前页面相对于窗口显示区左上角的 X 位置。
pageYOffset设置或返回当前页面相对于窗口显示区左上角的 Y 位置。
screenLeft返回相对于屏幕窗口的x坐标
screenTop返回相对于屏幕窗口的y坐标
screenX返回相对于屏幕窗口的x坐标
screenY返回相对于屏幕窗口的y坐标

window对象方法

方法描述
alert()显示带有一段消息和一个确认按钮的警告框。
confirm()显示带有一段消息以及确认按钮和取消按钮的对话框。
prompt()显示可提示用户输入的对话框。
focus()把键盘焦点给予一个窗口。
blur()把键盘焦点从顶层窗口移开。
open()打开一个新的浏览器窗口或查找一个已命名的窗口。
close()关闭浏览器窗口。
print()打印当前窗口的内容。
createPopup()创建一个 pop-up 窗口。
setInterval()按照指定的周期(以毫秒计)来调用函数或计算表达式。
setTimeout()在指定的毫秒数后调用函数或计算表达式。
clearInterval()取消由 setInterval() 设置的 timeout。
clearTimeout()取消由 setTimeout() 方法设置的 timeout。
moveBy()可相对窗口的当前坐标把它移动指定的像素。(仅IE)
moveTo()把窗口的左上角移动到一个指定的坐标。(仅IE)
resizeBy()按照指定的像素调整窗口的大小。(仅IE)
resizeTo()把窗口的大小调整到指定的宽度和高度。(仅IE)
scrollBy()按照指定的像素值来滚动内容。
scrollTo()把内容滚动到指定的坐标。

3.2 Localtion

Location 对象包含有关当前 URL 的信息。

Location 对象是 window 对象的一部分,可通过 window.Location 属性对其进行访问。

Location 对象属性

属性描述
href返回完整的URL
protocol返回一个URL协议
host返回一个URL的主机名和端口
hostname返回URL的主机名
port返回一个URL服务器使用的端口号
pathname返回的URL路径名。
search返回一个URL的查询部分
hash返回一个URL的锚部分

Location 对象方法

方法说明
assign()载入一个新的文档
reload()重新载入当前文档
replace()]用新的文档替换当前文档

3.3 History

History 对象包含用户(在浏览器窗口中)访问过的 URL。

History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。

History 对象属性

属性说明
length返回历史列表中的网址数

History 对象方法

方法说明
back()加载 history 列表中的前一个 URL
forward()加载 history 列表中的下一个 URL
go()加载 history 列表中的某个具体页面

3.4 Navigator

属性说明
appCodeName返回浏览器的代码名
appName返回浏览器的名称
appVersion返回浏览器的平台和版本信息
cookieEnabled返回指明浏览器中是否启用 cookie 的布尔值
platform返回运行浏览器的操作系统平台
userAgent返回由客户机发送服务器的user-agent 头部的值
方法描述
javaEnabled()指定是否在浏览器中启用Java
taintEnabled()规定浏览器是否启用数据污点(data tainting)

3.5 Screen

Screen 对象包含有关客户端显示屏幕的信息。

Screen 对象属性

属性说明
availHeight返回屏幕的高度(不包括Windows任务栏)
availWidth返回屏幕的宽度(不包括Windows任务栏)
colorDepth返回目标设备或缓冲器上的调色板的比特深度
height返回屏幕的总高度
pixelDepth返回屏幕的颜色分辨率(每象素的位数)
width返回屏幕的总宽度

文档对象模型 DOM

1 DOM概述

1.1 什么是DOM

  • 文档对象模型 Document Object Model
  • 文档对象模型 是表示和操作 HTML和XML文档内容的基础API
  • 文档对象模型,是W3C组织推荐的处理可扩展标志语言的标准编程接口

1.2 DOM分类

  • 核心 DOM - 针对任何结构化文档的标准模型
  • XML DOM - 针对 XML 文档的标准模型
  • HTML DOM - 针对 HTML 文档的标准模型

1.3 DOM分级

  • 1级dom

    1级DOM在1998年10月份成为W3C的提议,由DOM核心与DOM HTML两个模块组成。DOM核心能映射以XML为基础的文档结构,允许获取和操作文档的任意部分。DOM HTML通过添加HTML专用的对象与函数对DOM核心进行了扩展。
    
  • 2级dom

    通过对原有DOM的扩展,2级DOM通过对象接口增加了对鼠标和用户界面事件、范围、遍历(重复执行DOM文档)和层叠样式表(CSS)的支持。
    
  • 3级dom

    3级DOM通过引入统一方式载入和保存文档和文档验证方法对DOM进行进一步扩展,DOM3包含一个名为“DOM载入与保存”的新模块,DOM核心扩展后可支持XML1.0的所有内容,包括XML Infoset、 XPath、和XML Base。
    

1.4 DOM树

2 节点

2.1 什么是节点

文档中的每一个部分都是节点,包括document 元素 属性 文本...

2.2 节点的分类

  • Document
    Element 元素 Attr 属性
  • Text 文本
  • Comment 注释

2.3 节点属性

  • nodeName 节点名字

    document :  #document
    element : 标签名
    attr : 属性名
    text : #text
    comment : #comment
    
  • nodeValue 节点值

    document : null
    element : null
    attr : 属性值
    text : 文本内容
    comment : 注释内容
    
  • nodeType 节点类型

    document : 9
    element : 1
    attr : 2
    text : 3
    coment : 8
    

3 获取元素对象

  • 通过ID获取元素

    document.getElementById()
    id属性可自动成为被脚本访问的全局变量
    
  • 通过name值获取元素

    document.getElementsByName()IE9+和标准浏览器认为 所有的元素都有nameIE9- 认为只有个别元素有name表单和表单控件img iframe  embed object ....docuemnt会为某些元素创建以元素name为名字的属性<form><img>.......
    
  • 通过标签名获取元素

    document.getElementsByTagName()
    element.getElementsByTagName()
    document.images    所有img的引用
    document.forms    所有表单的引用
    document.links    所有超链接的引用
    docuent.anchors    所有锚点的引用
    
  • 通过类名选取元素(IE9+)

    document.getElementsByClassName()
    element.getElementsByClassName()
    
  • 通过CSS选择器选取元素

    document.querySelectorAll()
    document.querySelector()
    element.querySelectorAll()
    element.querySelector()
    
  • 获取所有的元素

    document.all
    

4 文档结构和遍历文档

4.1 节点关系

  • 父节点 父元素
  • 子节点 子元素
  • 同辈节点 同辈元素
  • 祖先节点 祖先元素
  • 后代节点 后代元素

4.2 作为节点树的文档

  • parentNode 父节点
  • childNodes 所有子节点的集合
  • firstChild 第一个子节点
  • lastChild 最后一个子节点
  • nextSibling 下一个兄弟节点
  • previousSibling 上一个兄弟节点

4.3 作为元素树的文档

  • parentElement 父元素 大部分情况下 parentElement 等同于 parentNode
  • children 所有子元素的集合
  • firstElementChild IE9+ 第一个子元素
  • lastElementChild IE9+ 最后一个子元素
  • nextElementSibling IE9+ 下一个兄弟元素
  • previousElementSibling IE9+ 上一个兄弟元素
  • childElementCount IE9+ 子元素的数量
  • ownerDocument 返回元素所属的文档对象

5 属性

5.1 HTML标签的属性和元素对象的属性

HTMLElement对象映射了元素的HTML属性

5.2 获取和设置非标准的HTML属性

  • getAttribute(attrname) 获取自定义或内置属性的值
  • setAttribute(attrnane, value) 设置自定义或内置属性
  • hasAttribute(attrname) 判断是否存在该属性
  • removeAttribute() 移出自定义或内置的属性

5.3 作为Attr节点的

  • arrtibutes 属性
  • setAttributeNode()
  • getAttributeNode()
  • document.createAttribute() 创建属性节点

6 元素的内容

6.1 作为HTML的元素内容

  • innerHTML
  • outerHTML

6.2 作为纯文本的元素内容

  • textContent IE9+
  • innerText 会忽略多余空白

6.3 作为Text节点的元素内容

文本节点的方法

appendData()    向文本节点追加内容
deleteData()    删除文本节点的一部分内容
insertData()    向文本节点中插入内容
replaceData()    替换内容
substringData()    截取内容

创建文本节点

document.createTextNode()

7 创建、插入、删除 节点

7.1 创建节点

document.createElement()

7.2 插入节点

appendChild()    在元素的最后追加一个子元素
insertBefore()    在元素指定的位置插入一个子元素

7.3 删除节点

removeChild()

7.4 替换节点

replaceChild(new_node, old_node)

7.5 克隆节点

cloneNode()参数true    克隆元素以及所有的厚点节点false    仅仅克隆节点本身

7.6 DocumentFragment

document.createDocumentFragment()可以创建该对象DocumentFragment 接口表示文档的一部分(或一段)。更确切地说,它表示一个或多个邻接的 Document 节点和它们的所有子孙节点。DocumentFragment 节点不属于文档树,继承的 parentNode 属性总是 null。请求把一个 DocumentFragment 节点插入文档树时,插入的不是 DocumentFragment 自身,而是它的所有子孙节点。这使得 DocumentFragment 成了有用的占位符,暂时存放那些一次插入文档的节点

8 元素的尺寸、位置、滚动

8.1 元素坐标

offsetLeft    距离左边的距离, 相对规则同 css 的定位
offsetTop    距离上边的距离, 相对规则同 css 的定位
offsetParent    得到第一定位的祖先元素
clientLeft    没卵用 就是边框宽
clientTop    没卵用 就是边框宽
getBoundingClientRect()        返回对象 包含位置信息 大小信息

8.2 判定某个元素在某点

document.elementFromPoint()

8.3 查询元素的几何尺寸

getBoundingClientRect()
getClientRects()
offsetWidth
offsetHeight
clientWidth
clientHeight
scrollWidth
scrollHeight

8.4 滚动

scrollLeft
scrollTop

9 Document对象

每个载入浏览器的 HTML 文档都会成为 Document 对象。 Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。

9.1 属性

URL        获取当前页面的url 只读
domain        获取域名
referrer        获取上一个页面的地址 只读
title        
location    
lastModified    
cookie

9.2 方法

write()        
writeln()

10 HTML表单中的相关对象

10.1 选取表单和表单元素

10.2 表单和表单元素的属性

10.3 from对象

属性

elements    所有表单控件组成的集合

方法

submit()    让表单提交
reset()        让表单重置

10.3 按钮(button submit reset)对象

方法

focus()    获得焦点
blur()    使失去焦点
click()    使按钮比被单击

10.4 单选复选

方法

focus()    获得焦点
blur()    失去焦点
click()    被单击

10.5 文本(input textarea)

方法

focus()    获取焦点
blur()    失去焦点
select()    全部被选中

10.6 select对象

属性

options
selectedIndex
length    选项的数量

方法

add()    添加选项
remove()    移出选项, 参数是option的索引
focus()    获取焦点
blur()    失去焦点

11 Table中相关对象

11.1 table对象

属性

cells    返回包含表格中所有单元格的一个数组。
rows     返回包含表格中所有行的一个数组。

方法

createCaption()    为表格创建一个 caption 元素。
deleteCaption()    从表格删除 caption 元素以及其内容。
createTHead()    在表格中创建一个空的 tHead 元素。
deleteTHead()    从表格删除 tHead 元素及其内容。
createTFoot()    在表格中创建一个空的 tFoot 元素。
deleteTFoot()    从表格删除 tFoot 元素及其内容。
insertRow()    在表格中插入一个新行。
deleteRow()    从表格删除一行。

11.2 tr对象

属性

cells    返回包含行中所有单元格的一个数组。
rowIndex    返回该行在表中的位置。

方法

deleteCell()    删除行中的指定的单元格。
insertCell()    在一行中的指定位置插入一个空的 <td> 元素。

11.3 td对象、th对象

属性

cellIndex    返回单元格在某行的单元格集合中的位置。

转载于:https://www.cnblogs.com/wanglecn/p/9475738.html

相关文章:

上交三月月赛[SJTU] 1106 sudoku

题目大意&#xff1a;给出一道数独题&#xff0c;判断该数独是否有解且有唯一解。 解题思路&#xff1a; 由前几题的难度得&#xff0c;此题的难度不会太过分&#xff0c;所以简单暴力就可以了&#xff0c;40ms用时一本满足。 简单地讲一下具体的实现&#xff0c;从左上开始从左…

C语言-三子棋游戏

C语言中用写头文件的方式写了一个三子棋游戏 1.测试函数text.c #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> #include"chess.h"void menu() {printf("*************…

取余运算怎么算_TensorFlow2.0(2):数学运算

点击“机器学习算法与Python实战”&#xff0c;“置顶”公众号重磅干货&#xff0c;第一时间送达TensorFlow2.0(1)&#xff1a;基本数据结构——张量1 基本运算&#xff1a;(、-、*、/、//、%) 基本运算中所有实例都以下面的张量a、b为例进行&#xff1a;import tensorflow as …

xen二进制安装

需要几台机器做集群测试,目前只有一台机器所以用xen来虚拟化几台机器出来 系统: centos5.6 安装xen yum install kernel-xen xen修改grub /boot/grub/grub.conf将default1改为default0 default0 timeout5 splashimage(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.…

python模块之json,pickle

序列化是指把内存里的数据转变成字符串&#xff0c;以使其能保存到硬盘上或者通过网络输送到远程。 序列化的两个模块&#xff1a; json:只能把python中的int/str/list/tuple/dict类型的数据&#xff0c;可以在不同的语言之间传递数据。Python和JavaScript数据对应关系&#xf…

关于如何在pc端使用github

http://www.bcwhy.com/thread-17636-1-1.html转载于:https://www.cnblogs.com/glgl2424/archive/2013/03/13/2956944.html

Python爬虫1-Scrapy环境的安装

一. Scrapy环境的安装 1. Scrapy各平台支持情况 除了python3在Windows下不支持外&#xff0c;其余&#xff08;Linux&#xff0c;Mac&#xff09;均支持 2. 安装miniconda (1)建议使用Python2&#xff0c;用miniconda安装scrapy (2)miniconda时Python环境管理工…

汉字笔画数据_统计学原理 数据的预处理

数据审核数据审核—原始数据(raw data)完整性审核应调查的单位或个体是否有遗漏所有的调查项目或变量是否填写齐全准确性审核数据是否真实反映实际情况&#xff0c;内容是否符合实际数据是否有错误&#xff0c;计算是否正确等数据审核—二手数据(second hand data)适用性审核弄…

SqlServer时间函数的使用例子整理

为什么80%的码农都做不了架构师&#xff1f;>>> 整理SqlServer2008的时间函数如下&#xff1a; 1.获取系统时间 select getdate(); --2012-05-06 22:26:49.950 select current_timestamp; --2012-05-06 22:26:49.950 select getutcdate(); --20…

bzoj 4710 [Jsoi2011]分特产 组合数学+容斥原理

题面 题目传送门 解法 考虑容斥原理 显然&#xff0c;我们可以枚举有多少个人没有收到 然后就转化成一个组合问题了 假设现在有\(x\)个物品&#xff0c;\(n\)个人&#xff0c;可以有人没有被分到&#xff0c;那么分给这\(n\)个人的方案数为\(nx-1\choose n-1\) 然后就是分别计算…

Python爬虫2-GET_POST与开发者工具

一. GET_POST与开发者工具 1. 浏览器的基本工作规则 浏览器请求访问服务器&#xff0c;服务器返回数据 (1) 请求的格式 GET&#xff1a;长度不能大于2k参数明文显示在地址栏&#xff0c;不保密&#xff0c;通常用在查询请求 POST:长度可以很大&#xff0c;参数写…

springcloud是什么_阿里P8道出,入职阿里必会199道SpringCloud面试题,你能掌握多少?...

前言Spring Cloud 自 2016 年 1 月发布第一个 Angel.SR5 版本&#xff0c;到目前 2020 年 3 月发布 Hoxton.SR3 版本&#xff0c;已经历经了 4 年时间。这 4 年时间里&#xff0c;Spring Cloud 一共发布了 46 个版本&#xff0c;支持的组件数从 5 个增加到 21 个。Spring Cloud…

不一样的命令行 – Windows PowerShell简介

引子 一直很羡慕Linux的命令提示符&#xff08;当然他们叫Shell&#xff09;。正则表达式&#xff0c;管道&#xff0c;各种神奇的命令&#xff0c;组合起来就能高效完成很多复杂的任务。效率实在是高。流了n年的哈喇子以后&#xff0c;终于有幸用上了Win7&#xff0c;邂逅了cm…

excel中会计专用格式问题_解决方法

excel 2003在使用格式中当选择会计专用会出现负号在左,数字在右的情况.这类设置并不是在excel中完成,而是在控制面板,区域和语言选项---自定义中设置---货币中设置,-&#xffe5;1.1改为&#xffe5;-1.1就可以解决了.包括千位分割样式保留的小数点位数等都可以在这里进行设置来…

Spring.Net Aop

Spring.Net 有四种通知&#xff1a; IMethodBeforeAdvice&#xff0c;IAfterReturningAdvice&#xff0c;IMethodInterceptor&#xff0c;IThrowsAdvice BeforeAdvice 1 using System.Reflection;2 using Spring.Aop;3 public class BeforeAdvice : IMethodBefore…

Oracle to_char函数的使用方法

本文转载于:https://blog.csdn.net/mikyz/article/details/69397030 本文转载于:https://www.cnblogs.com/aipan/p/7941917.html 本文转载于:https://blog.csdn.net/jinlong5200/article/details/3135949 转载于:https://www.cnblogs.com/demon09/p/9485627.html

python装饰器教学_Python装饰器学习(九步入门)

这是在Python学习小组上介绍的内容&#xff0c;现学现卖、多练习是好的学习方式。第一步&#xff1a;最简单的函数&#xff0c;准备附加额外功能 # -*- coding:gbk -*-示例1: 最简单的函数,表示调用了两次def myfunc():print("myfunc() called.")myfunc()myfunc()第二…

跨平台表空间传输(linux 10g表空间跨平台迁移到window 11g)

最近公司的一个项目里的linux 系统中的oracle 10g数据库&#xff0c;需要把某个表空间里的所有数据都迁移到window 2003的11g里&#xff0c;经过我与dba的交流、测试&#xff0c;决定使用跨平台的表空间传输技术&#xff0c;目前此项任务已经完成&#xff0c;经过测试&#xff…

YY的GCD 莫比乌斯反演

&#xff5e;&#xff5e;&#xff5e;题面&#xff5e;&#xff5e;&#xff5e; 题解&#xff1a; $ans \sum_{x 1}^{n}\sum_{y 1}^{m}\sum_{i 1}^{k}[gcd(x, y) p_{i}]$其中k为质数个数 $$ans \sum_{i 1}^{k}\sum_{x 1}^{n}\sum_{y 1}^{m}[gcd(x, y) p_{i}…

python答辩结束语_Beta答辩总结

前言队名&#xff1a;拖鞋旅游队项目的链接与宣传项目总结原计划实现功能预期完成程度上传照片完美实现照片信息标注在地图上对于有地理信息的照片能够较为精确的定位足迹地图可视化能够用颜色区分出到到每个省份的程度以及显示到达的地点生成旅游故事能够生成不同的故事模板&a…

在一台电脑上使用两个github账号

问题描述&#xff1a; 我公司有一个github账号&#xff0c;每天工作把代码传上去&#xff0c;我觉得代码写的好&#xff0c;我同时想上传到自己的github账号上面去&#xff0c;但是目前只有一台电脑&#xff0c;如何在一台电脑上面进行设置&#xff0c;使这一台电脑可以同时上传…

[唐胡璐]QTP框架 - 关键字驱动测试框架之七 - Settings管理

这里主要是存放一些框架相关的Global设置的相关项&#xff0c;如图所示&#xff1a;转载于:https://www.cnblogs.com/yongfeiuall/archive/2013/03/18/4134155.html

ASP.NET MVC以ValueProvider为核心的值提供系统: DictionaryValueProvider

NameValueCollectionValueProvider采用一个NameValueCollection作为数据源&#xff0c;DictionnaryValueProvider的数据源类型自然就是一个Dictionnary。NameValueCollection和Dictionnary都是一个键值对的集合&#xff0c;它们之间的不同之处在NameValueCollection运行元素具有…

串口 发送 接收 高位_电工进阶PLC大神,必备PLC串口通讯的基本知识!

戳上方蓝字“技成电工课堂”快速关注&#xff01;&#xff01;&#xff01;电力作业人员在使用PLC的时候会接触到很多的通讯协议以及通讯接口&#xff0c;最基本的PLC串口通讯和基本的通讯接口你都了解吗&#xff1f;1&#xff0c;什么是串口通讯&#xff1f;串口是计算机上一种…

HTTP请求时connectionRequestTimeout 、connectionTimeout、socketTimeout三个超时时间的含义...

1.connectionRequestTimout 指从连接池获取连接的timeout 2.connetionTimeout 指客户端和服务器建立连接的timeout&#xff0c; 就是http请求的三个阶段&#xff0c;一&#xff1a;建立连接&#xff1b;二&#xff1a;数据传送&#xff1b;三&#xff0c;断开连接。超时后会Con…

搜索引擎优化培训教程

很详细的搜索引擎优化培训教材 View more presentations from mysqlops 转载于:https://www.cnblogs.com/macleanoracle/archive/2013/03/19/2967982.html

C语言-扫雷游戏

头文件 #ifndef __MINE_H__ #define __MINE_H__#define LINE 10 #define LIST 10 #define ROWS 6 #define COWS 6int game(char UserBoard[LINE2][LIST2], char PlayerBoard[LINE][LIST]); void PrintBoard(char Playerboard[LINE][LIST]); void MineLay(char UserBoard[LINE …

PHP的命令行脚本调用

1.使用PHP命令调用php脚本接受键盘输入然后输出 1 <?php 2 fwrite(STDOUT, "Please input your name:\t"); 3 $name trim(fgets(STDIN)); 4 fwrite(STDOUT, Hello . $name); 5 ?> 2.使用PHP命令调用php脚本并接受参数 1 <?php2 if($ar…

控制输入框只能输入数字

1.将input的属性type改为number 2.这时的输入框会有小箭头&#xff0c; 去掉小箭头的方法&#xff0c;给input添加样式 input::-webkit-outer-spin-button,input::-webkit-inner-spin-button { -webkit-appearance: none;}input[type"number"] { -moz-appearan…

main函数参数,在VS中向命令行添加参数的方法

问题描述 使用main函数的参数&#xff0c;实现一个整数计算器&#xff0c;程序可以接受三个参数&#xff0c;第一个参数“-a”选项执行加法&#xff0c;“-s”选项执行减法&#xff0c;“-m”选项执行乘法&#xff0c;“-d”选项执行除法&#xff0c;后面两个参数为操作数。 例…