WEB程序设计之javascript

《Java Web程序设计》实验报告五 Java Script学习汇报 本文介绍了一个关于JavaScript及相关技术的实验项目。实验内容包括了解JavaScript的背景、发展历史与特点,研究ECMAScript标准与JavaScript的关系,比较ES5与ES6特性差异,探讨Node.js、TypeScript与jQuery的概念及其联系。实验采用分组协作,4名成员分工查阅资料并汇总分析,解决了编码乱码、服务器端口冲突等问题。最终完成了JavaScript技术体系的梳理,深化了对JavaScript语言及其生态的理解,掌握了相关技术的基本概念与应用方法。 阅读详情

WEB程序设计之javascript



一、javascript的使用

1、在页面中放置javascript脚本方法

1)将javascript脚本放置在<script> 与 </script> 标签之间,script标签可以放置在页面任何地方,但通常我们会放置在页头或页脚中。

2)外部javascript:将脚本保存为单独的javascript文件(扩展名为js),然后通过<script src='js'文件位置></script>来将脚本引入页面。要注意外部脚本不能包含 <script> 标签

2、注意事项:

1)每句后面使用分号结束

2)大小写敏感


二、变量


1、声明

javascript变量可以不声明直接使用,但是使用前先声明,将是一个良好的习惯。

var username; //声明后未赋值的变量,其值为undifined

如果重复声明变量,该变量的值不会丢失


2、变量作用域

全局变量:在函数外声明的变量是全局变量或在函数内没有用var声明的变量,网页上的所有脚本和函数都能访问它。

局部变量:在函数内声明的变量(使用var)是局部变量,只能在函数内部访问它。


3、变量的生存期

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。


4、运算符

+ 字符串连接,如果把数字与字符串相加,结果将成为字符串。

==等于,值相等即为true

===全等,值相等,类型相同才为true


五、数据类型

javascript是弱类型语言,变量具有动态类型

1、undefined:表示变量不含有值,未声明的变量或者用var声明但未初始化的变量

2、null:空,可以将变量的值设置为null来清空变量

3、数字:isNaN()判断是否为数值、parseInt()、parseFloat()

4、布尔:true(非空字符串、非零数值、非空对象)、false(空字符串、0、null和undefined)

5、字符串:使用单引号或双引号包括


六、String对象


属性:

length:字符串长度

方法:

charAt(index):返回指定位置的字符

indexOf(searchvalue,fromindex):返回某个指定的字符串值在字符串中首次出现的位置,未找到返回-1

lastIndexOf(searchvalue,fromindex):反向检索

replace(regexp/substr,replacement):在字符串中用一些字符替换另一些字符

split(separator,howmany):把一个字符串分割成字符串数组

substr(start,length):在字符串中抽取从 start 下标开始的指定数目的字符

toLowerCase():把字符串转换为小写

toUpperCase():把字符串转换为小写


七、数组

1)创建数组

<span style="font-family:FangSong_GB2312;font-size:18px;">    var city=new Array();
    city[0]='北京';
    city[1]='上海';
    city[2]='广州';</span>

<span style="font-family:FangSong_GB2312;font-size:18px;">var city=new Array('北京','上海','广州');

</span>

<span style="font-family:FangSong_GB2312;font-size:18px;">    var city=['北京','上海','广州'];</span>

2)增加数组元素:使用"[ ]"运算符置顶一个新下标

(1)push() :在数组末尾添加元素

(2)unshift():在数组头部添加元素

(3)concat():合并数组

3)删除数组元素:delete 数组名[下标];

(1)pop() : 删除并返回数组最后一个元素

(2)shift():删除并返回数组第一个元素

3)遍历数组

(1)for(var i=0;i<arr.length;i++){}

(2)for(var 数组元素变量 in 数组)

4)获取数组片段

slice(start,end):从数组中返回选定的元素

splice() :方法向/从数组中添加/删除项目,然后返回被删除的项目

删除任意数量的项:splice(要删除的起始下标,要删除的项数)

在指定位置插入指定的项:splice(起始下标, 0 , 要插入的项)

替换任意数量的项:splice(起始下标, 要删除的项数 , 要插入的项)

5)其他

join(separator):把数组中的所有元素放入一个字符串

reverse() : 颠倒数组中元素的顺序

sort(sortby): 方法用于对数组的元素进行排序。


八、对象

<span style="font-family:FangSong_GB2312;font-size:18px;">var stu={id:"20120101", name:"胡悦"};</span>

九、javascript的使用

1、在页面中放置javascript脚本方法

1)将javascript脚本放置在<script> 与 </script> 标签之间,script标签可以放置在页面任何地方,但通常我们会放置在页头或页脚中。

2)外部javascript:将脚本保存为单独的javascript文件(扩展名为js),然后通过<script src='js'文件位置></script>来将脚本引入页面。要注意外部脚本不能包含 <script> 标签

2、注意事项:

1)每句后面使用分号结束

2)大小写敏感


十、网页特殊显示效果制作

   1)改变HTML内容

  1. var header=document.getElementById('header');
  2. header.innerHTML='新内容'

   2)改变HTML属性

  1. var img=document.getElementById('image');
  2. img.src='new.jpg';

   3)改变HTML样式       

  1. header.style.color='blue';

十一、浏览器对象的调用   

  1. window.open('http://www.baidu.com');

十二、浏览器事件的触发

  1. var header=document.getElementById('header');
  2. header.onclick=function(){alert('你好!');}
  3. header.onmouseover=function(){header.innerHTML='鼠标移入!';}
  4. header.onmouseout=function(){header.innerHTML='鼠标移出!';}

十三、表单验证:

JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。

被 JavaScript 验证的这些典型的表单数据有:

  1) 用户是否已填写表单中的必填项目?

  2)用户输入的邮件地址是否合法?

  3)用户是否在数据域 (numeric field) 中输入了文本?


1、在表单的onsubmit事件中验证

  1. <form name="myform" action="abc.asp" method="post" onsubmit="return checkdata()">
  2. <label for="username">
  3. <input type="text" name="username" id="username" />
  4. </label>
  5. <input type="submit" value="提交">
  6. <input type="button" value="提交2" onclick='checkdata2()'>
  7. </form>
  8. <script>
  9. function checkdata(){
  10. with(document.myform){
  11. if (username.value.length==0) {
  12. alert('用户名不能为空!');
  13. username.focus();
  14. return false;
  15. }else{
  16. return true;
  17. }
  18. }
  19. }
  20. </script>

2、在按钮的click事件中进行验证,验证通过后使用form.submit()发送

  1. <input type="button" value="提交2" onclick='checkdata2()'>
  2.  
  3. function checkdata2(){
  4. with(document.myform){
  5. if (username.value.length==0) {
  6. alert('用户名不能为空!');
  7. username.focus();
  8. return false;
  9. }else{
  10. myform.submit();
  11. }
  12. }
  13. }

常用验证:

 1、必填(或必选)项目
  1. //if(value==null||value=="")
  2. if(value.length==0){
  3. alert('必须输入');
  4. }

2、长度验证

  1. if(value.length>50){
  2. alert('不能超过50个字符');
  3. }

3、是否全是数字

  1. function isNumber(String){
  2. var Letters = "1234567890"; //可以自己增加可输入值
  3. var i;
  4. var c;
  5. for( i = 0; i < String.length; i++){
  6. c = String.charAt( i );
  7. if (Letters.indexOf( c ) < 0)
  8. return false;
  9. }
  10. return true;
  11. }

4、email验证

  1. function isEmail(value){
  2. apos=value.indexOf("@")
  3. dotpos=value.lastIndexOf(".")
  4. if (apos<1||dotpos-apos<2) {
  5. return false}
  6. else {return true}
  7. }






LabVIEW与三菱PLC通讯实战:ActiveX控件在FX5U上的应用技巧 本文深入探讨了如何利用三菱MX Component中的ActiveX控件,在LabVIEW中实现与FX5U系列PLC的高效、稳定通讯。文章从环境配置、ActiveX控件生命周期管理、数据读写性能优化及容错机制等实战角度,分享了构建工业级健壮通讯程序的核心技巧与架构设计思路。 阅读详情

相关推荐

接入 deepseek 实现AI智能问诊

必须包含user角色,用于传递用户输入。system角色可选,用于设置对话背景。多轮对话需要将历史记录添加到messages中。

weixin_51326478的博客 6541

构建Web应用程序的10个JavaScript框架

多年来,业界已经发布了大量 JavaScript 框架,怎样进行选择可能是一个挑战。如果你感到困惑,不知道应该选哪个或者究竟哪个适合你。在本文中,我将列出用来构建 Web 应用程序的前10个 JavaScript 框架。 10、 Aurelia Aurelia 是一个开源的现代 JavaScript 模块工具箱,其有助于 Web 和移动应用程序的发展。它也被称为“下一代框架”。该框架自推出以来一直...

flower_517的博客 4077

Golang中使用Qt库(therecipe/qt)+QtDesigner + Goland (一) 环境搭建

搭建的目的只是刚好看到有这么一个模块, 还有给使用Go的人需要用到调试界面的时候用一下,真正开发界面并不建议用,没必要, 还有缺点就是在windows平台下编译偏慢, 还有其他一些UI纯Go开发的UI -

听我一言的博客 1万+

day11:(DOM操作之innerHTML 、自定义属性 、固有属性)

DOM操作之innerHTML 、 DOM操作之自定义属性 、 DOM操作之固有属性

lst1164515273的博客 1104

基因组研究之单倍型T2T基因组(一)

单倍型T2T基因组(Haplotype-resolved T2T genome)是一种高精度、高连续性、高完整性的基因组组装技术,它能够提供从端粒到端粒的完整基因组序列,包括所有的基因和非编码序列。完整覆盖:T2T基因组覆盖从端粒到端粒的染色体序列,包含所有的基因和非编码序列,包括以往难以解析的端粒和着丝粒区域。单倍型解析:单倍型T2T基因组能够区分来自父母本的遗传信息,进行亚基因组不对称演化研究,挖掘单倍型等位基因间的表达差异,这对于重测序、性状定位、进化、基因功能、基因编辑等研究至关重要。

2401_89507557的博客 2438

LVGL高效加载外部Flash图片资源的实现与优化

本文深入探讨了在嵌入式UI开发中,如何为LVGL高效加载外部Flash中的图片资源。针对内部Flash容量不足的痛点,详细解析了LVGL的图片处理原理,并对比了内存映射与流式解码两种主流实现方案。文章重点提供了性能优化技巧与实战避坑指南,旨在帮助开发者实现流畅的图片加载体验,解决SPI Flash读取慢、内存占用高等核心挑战。

t1u2v的博客 462

Web程序设计基础 JavaScript知识训练:JS函数

第1关:JavaScript知识训练:JS函数

2201_75437408的博客 486

【电源专题】LDO基础——热性能2

对于LDO散热而言,选择合适的元件并不是一件简单的任务。为了实现高效、尺寸得当并成本低的散热解决方案,我们在早期设计阶段就需要确保所有器件都可用并且已经考虑到元件和各种特性。

一点硬件 894

JS高级程序设计 电子版下载介绍

JS高级程序设计 电子版下载介绍 【下载地址】JS高级程序设计电子版下载介绍 《JS高级程序设计》是一本深入探讨JavaScript语言的权威著作,全面覆盖了JavaScript的历史、核心概念、面向对象编程、函数式编程、异步编程、DOM操作及Ajax等关键技术。无论你是JavaScript初学者,还是希望提升技能的前端...

gitblog_06750的博客 1121

【异常】OpenClaw调用火山引擎大模型提示词 Agent failed before reply: All models failed (6): volcengine/kimi-k2-5-26

摘要: 本文针对OpenClaw调用火山引擎大模型服务时触发的全量熔断报错(All models failed)提供全链路排查方案。报错核心为服务熔断(cooldown)和模型不可用(model_not_found),主要源于账号权限、API凭证失效或模型标识错误。解决方案按优先级分步实施:1)校验账号状态与AK/SK有效性;2)核对官方模型标识;3)重启服务解除熔断;4)修复配置文件;5)通过原生API测试定位网络或服务端问题。日志分析(openclaw logs)可快速识别HTTP状态码(如401/40

奶爸的编程之路,也就一周冷个三天 837

3D 韩系风格漫剧人设 | GPT-Image2 人设生成【附完整提示词】

宁姚同款清冷剑系美人,极致小巧鹅蛋脸,下颌线紧致纤细流畅,下巴小巧精致收窄,小脸衬得五官格外舒展,韩式水光肌,面部精细水光高光,鼻梁高光、鼻尖高光、面中苹果肌高光、唇珠高光,红棕色长卷发偏分大波浪,垂在一侧肩前,发量蓬松。发量丰厚蓬松有体积感,不贴头皮,几缕碎发自然垂落脸侧修饰脸型,长度过胸及背,发丝柔顺丝滑卷度自然,发尾自然垂落,身穿香槟色缎面挂脖长裙,挂脖设计无袖露肩露背,上半身围裹式荡领胸口垂褶,腰部堆褶收腰,修身直筒包臀裙长度到脚踝,缎面光泽感强垂坠感好,极简剪裁。纯白色背景,3D漫剧写实厚涂风。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 124

Web程序设计基础 JavaScript知识训练:JS分支与循环

第1关:JS分支分支与循环知识

2201_75437408的博客 413

界面材料知识

界面材料(TIM)用于芯片和散热器之间的导热作用,将低导热系数的空气(空气的导热系数(0.026 W /M·K))排除,换成高导热系数,低热阻导热系数的材料。具体的:TIM1为芯片DIE和芯片保护壳之间的界面材料,一般是直接焊接的方式,比如使用铟片,有很高的导热系数;芯片厂工程师主要找的是TIM1界面材料。TIM1.5为芯片Die和散热器之间的界面材料,比较少见;TIM2为我们所常见的界面材料,用于芯片外壳和散热器之间。(图片来源网上)

YY_Share的博客 1853

Web程序设计基础 JavaScript语言基础:JS循环语句

【代码】Web程序设计基础 JavaScript语言基础:JS循环语句。

2201_75437408的博客 466

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

node.js毕设基于Web的程序设计学习平台程序+论文

本选题将以Web环境为研究情景,重点分析和研究如何构建一个全面的、功能完善的程序设计学习平台,涵盖教师、学生、课程信息、学习资源、课程分类、资源类型、学习任务、学习进度、任务进度等系统功能,以期探寻程序设计学习平台高效运作的问题原因和机制等,提出对策建议,为后续更加深入的研究提供基础。在当今数字化时代,程序设计知识的学习需求日益增长,研究基于Web的程序设计学习平台具有很大的价值,旨在提高程序设计学习的效率和质量。[5] 杨晓婷. 基于Node.js的基础框架设计与实现[D]. 北京邮电大学, 2017.

梁凯毕设程序 853

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

《JS高级程序设计》--WEB浏览器中的JS

1.作为全局执行环境的Window对象 web浏览器的主要任务是在一个窗口中显示HTML文档。在客户端JS中,表示HTML文档的是Document对象,Window对象代表显示该文档的窗口。虽然对于客户端JS来说,Document对象和Window对象都很重要,但是相比较而言,Window对象更重要一些。本质上山的原因是Window对象是客户端程序设计的全局对象。 JS的每一个实现都有个全局对

Enl0ve的博客 407

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Web程序设计基础 JavaScript语言基础:JS运算符

【代码】Web程序设计基础 JavaScript语言基础:JS运算符。

2201_75437408的博客 403

node.js基于Web的程序设计学习平台程序+论文 可用于毕业设计

我认为两者需要兼顾,在保证基本的程序设计功能(如代码编写、运行、调试)的基础上,优化界面和操作流程,提高平台的易用性,以期探寻适合不同层次学习者的程序设计Web学习平台构建的机制,为后续更加深入的研究提供基础。在现实中,随着信息技术的发展,程序设计人才的需求日益增长。本选题的研究成果将为构建有效的程序设计学习平台提供指导,方便教师管理课程信息、学习任务等,同时也有助于学生更好地利用学习资源,跟踪自己的学习进度和任务进度,提高程序设计的学习效率,解决程序设计学习资源分散、学习过程管理不便等问题。

and867的博客 909

JavaScript 内容总结(十)Web APIs简介

JavaScript 内容总结(JavaScript高级程序设计) Web API和JS基础关联性 API和 WebAPI 1.Web API和JS基础关联性 2. API和Web API API 给程序员提供的一种工具,以便能更轻松的实现想要完成的功能 Web API 浏览器提供的一套操作浏览器功能(BOM)和页面元素的API(DOM) ...

qq_47735503的博客 252

JAVASCRIPT应用程序设计 使用NODE HTML5和现代JAVASCRIPT类库打造稳健的WEB应用pdf

链接:https://pan.baidu.com/s/1ctYLsmusYU_eGvXxrXSNeQ 密码:bdxx 本书为完整版,以下为内容截图:  

qq_38460392的博客 252

【JavaWeb程序设计】Web基础-JavaScript

一、函数与事件的使用 1. 编写一个html页面,使用Javascript完成数字的平方计算。 1.1 运行截图 1.2 JS代码 1.3 HTML代码 2. 要求文本框中只能输入字母 2.1 运行截图 2.2 下载jquery-3.4.1并引用 2.3 JS代码 2.4 HTML代码 3. 在文本框分别输入两个数,实现两个数的+、-、*、/运算,点击“=按钮”将结果显示在文本框中。 3.1 运行截图 3.2 JS代码 3.3 HTML代码

布丁椰奶冻的博客 547

web_MDN学习资源导航_js初学者快速入门指南项目/javascript高级程序设计vsMDN javascript教程/指南(official)

文章目录项目地址(github)该项目秒数语言简练,不容易劝退读者项目中包括多国语言的翻译(包括中文等,放置在各个章节的translations目录中)中文版每个章节配有视频(但是遗憾,国内的话没有条件的话不容易查看) 项目地址(github) link 该项目秒数语言简练,不容易劝退读者 项目中包括多国语言的翻译(包括中文等,放置在各个章节的translations目录中) readme有多语言版,每章节的作业(assignment)也有多语言 中文版 每个章节配有视频(但是遗憾,国内的话没有条件的话

xuchaoxin1375的博客 570

Web程序设计基础 JavaScript语言基础:JS条件语句

【代码】Web程序设计基础 JavaScript语言基础:JS条件语句。

2201_75437408的博客 462

web前端之JavaScript高级程序设计六:事件

JavaScript 与 HTML 之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察员模式的模型,支持页面的行为(JavaScript 代码)与页面的外观(HTML 和 CSS 代码)之间的松散耦合。 <h3>**事件流:** 事件流描述的是从页面中接收事件的顺序。但有意思的是,

爸爸去哪了2之熊猫三胞胎的博客 2970

图灵程序设计丛书 JavaScript Web应用开发pdf

链接:https://pan.baidu.com/s/18awzV1vmaf5t3Y-vWk6jRA 密码:p6mh 本书为完整版,以下为内容截图:  

qq_38460488的博客 395

node.js基于WEB的《高级语言程序设计》课程教学网站程序+论文 可用于毕业设计

本选题将以《高级语言程序设计》课程为研究情景,重点分析和研究如何构建一个功能完善、适合该课程教学需求的WEB教学网站,以期探寻在该课程教学过程中借助WEB技术提升教学效果的机制等,提出有效的网站构建方案,为后续更加深入的研究提供基础。[9] 蒋凌燕,李中科. 基于 WebSocket 和 node.js 的多终端数据采集系统研究[J]. 电脑知识与技术,2018, 14 (31): 6-8.[8] 刘灿. 基于Bigpipe与Node.js的Web框架的设计与实现[D]. 北京邮电大学, 2018.

zhiwen206的博客 1011
上一篇: WEB程序设计之CSS(三)
下一篇: WEB程序设计之DOM
橘子局
博客等级 码龄14年 70粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值