灯塔:JavaScript

Web标准也称为网页标准,由一系列的标准组成,大部分由W3C(World Wide Web Consortium,万维网联盟)负责制定。

三个组成部分:

HTML:负责网页的基本结构(页面元素和内容)。

CSS:负责网页的表现效果(页面的元素外观、位置等页面样式,如:颜色、大小等)

JavaScript:负责网页的行为(交互效果)。

JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言。是用来控制网页的行为的,它能使网页可交互

JavaScript和Java是完全不同的语言,不论是概念还是设计,但是基础语法类似

JavaScript在1995年由Brendan Erich发明,并于1997年成ECMA标准。

ECMAScript 6(ES6)是最新的JavaScript版本(发布于2015年)。

JavaScript的引入方式:

内部脚本:

将JS代码定义在HTML页面中

• JavaScript代码必须位于<script></script>标签之间

• 在HTML文档中,可以在任意地方,放置任意数量的<script>

• 一般会把脚本置于<body>元素的底部,可改善显示速度

<script>alter("Hello JavaScript")
</script>

外部脚本:

将JS代码定义在外部JS文件中,然后引入到HTML页面中

• 外部JS文件中,只包括JS代码,不包括<script>标签

• <script>标签不能自闭合

<script scr="js//demo.js"></script>
alter("Hello JavaScript")

JS的基础语法

书写语法:

区分大小写:与Java一样,变量名、函数名以及其他一切东西都是区分大小写的

每行结尾的分号可有可无

注释:

• 单行注释:// 注释内容

• 多行注释:/*注释内容*/

大括号表示代码块

//判断
if(count==3){alert(count);
}

输出语句:

• 使用window.alert()写入警告框

• 使用document.write()写入HTML输出

• 使用console.log()写入浏览器控制器

<script>window.alert("Hello JavaScript");//浏览器弹出警告框document.write("Hello JavaScript");//写入HTML,在浏览器展示console.log("Hello JavaScript" );//写入浏览器控制台
</script>

变量

        • JavaScript中用var关键字(variable的缩写)来声明变量

特点:①var的作用域比较大,全局变量

           ②可以重复定义

ECMAScrpit 6新增了let关键字来定义变量。它的用法类似于var,但是所声明的变量,只在let关键字所在的代码块内有效,且不允许重复声明。

ECMAScript 6新增了const关键字,用来声明一个只读的常量。一旦声明,常量的值就不能改变。

        • JavaScript是一门弱类型语言,变量可以存放不同类型的值

        • 变量名需要遵循如下规则:

                › 组成字符可以是任何字母、数字、下划线(_)或者美元符号($)

                › 数字不能开头

                › 建议使用驼峰命名

var a=20;
a="张三";

数据类型:

JavaScript中分为:原始类型和因与类型。

        原始类型:

• number:数字(整数、小数、NaN(Not a Number))

• string :字符串、单双引皆可

• boolean:布尔。true、false

• null:对象为空

• undefined :当声明的变量未初始化时,该变量的默认值是undefined

使用typeof运算符可以获取数据类型

var a=20;alert(typeof a);

运算符:

==与===

 ==会进行类型转换,===不会进行类型转换

var a=10;
alert(a=="10");//true
alert(a==="10");//false
alert(a===10);//true

流程控制语句:

if...else  if...else...
switch
for
while
do...while

函数:

介绍:函数(方法)是被设计为执行特定任务的代码块

定义方法一:JavaScript函数是通过function关键字进行定义,语法为:

function functionName(参数1,参数2...){//要执行的代码
}//例如
function add(a,b){return a+b;
}

注意:

        形式参数不需要类型。因为JavaScript示弱类型语言

        返回值也不需要定义类型,可以在函数内部直接使用return返回即可

调用:函数名称(实际参数列表)

var result=add(10,20);
alert(result);

定义方法二:

var functionName=function(参数1,参数2){//要实行的代码
}

JS对象:

Array

•JavaScript中Array对象用于定义数组

特点:长度可变 类型可变

• 定义
var 变量名=new Array(元素列表);//方式一
var arr=[1,2,3,4];
var 变量名=[元素列表];//方法二
var arr=[1,2,3,4];
 • 访问
arr[索引]=值;
arr[10]="hello";

注意:JavaScript中的数组相当于Java中的集合,数组的长度可变,而JavaScript是弱类型,所以可以储存任意类型的数据。

属性:
属性描述
length设置或返回数组中的元素的数量
方法:
方法描述
forEach()遍历数组中的每一个有值的元素,并调用一次传入的数
push()将新元素添加到数组的末尾,并返回新的长度
splice()从数组中删除元素
//forEach:遍历数组中的所有有值元素
var arr=[1,2,3,4];
arr.forEach(function(e)){console.log(e);
}//ES6 箭头函数:(...)=>{...}--简化函数的定义
arr.forEach(e)=>{console.log(e);
}

箭头函数(ES6) :是用来简化函数定于语法的。具体形式为:

(...)=>(...)

如果需要给箭头函数起名字:

var xxx=(...)=>{...}

String

String字符串对象创建方式有两种:

var 变量名 =new String("...");//方式一
var str=new String(""Hello String);var 变量名="...";//方式二
var str="Hello String";
var str ='Hello String';
属性:
属性描述
length字符串的长度
方法:
方法描述
charAt()返回在指定位置的字符
indexOf()检索字符串
trim()去除字符串两边的空格
substring()提取字符串中两个指定的索引号之间的字符(含头不含尾)

JavaScript自定义对象

定义格式:

var 对象名={属性名1:属性值1,属性名2:属性值2,属性名3:属性值3,
函数名称:function(形参列表 ){}
};//例
var user={name:"Tom",age:20,gender="male",eat:function(){alert("用膳。。。");}
};

调用格式:

对象名.属性名;
consen.log(user.name);
对象名.函数名();
user.eat();

JSON

概念:JavaScript Object Natation,JavaScript对象标记法。

JSON是通过JavaScript对象标记法书写的文本。

由于其语法简单,层次结构鲜明,先多用于作为数据载体,在网络中进行数据传输。

基础语法:

定义:

var 变量名='{"key1":value1,"key2":value2}';
var userStr='{"name":"Jerry","age":18},"addr":["北京","上海","西安"]';

value的数据类型为:

• 数字(整数或浮点数)

• 字符串(在双引号中)

• 逻辑值(true或false)

• 数组(在方括号中)

• 对象(在花括号中)

• null

JSON字符串转为JS对象
var jsObject=JSON.pause(userStr);
JS对象转为JSON字符串
var jsonStr=JSON.stringify(jsObject);
var jsonstr='{"name":"Tom","age":20,"addr":["北京","上海","西安"]}';
//json字符串-->js对象
var obj=JSON.pause(jsonstr);
alert(obj.name);
//js对象-->json字符串
alert(JSON.stringify(obj));

 BOM

概念:Browser Object Model浏览器对象模型,允许JavaScript与浏览器的各个组成部分封装为对象。

组成:

Window:浏览器窗口对象

Navigator:浏览器对象

Screen:屏幕对象

History:历史记录对象

Location:地址栏对象

Window:

//获取
window.alert("hello javascript");
alert("hello javascript");//方法
confirm -对话框--确认:true,取消:false
var flag=confirm("您确定删除该条记录吗?");
alert(flag);//定时器 - setInterval -- 周期性的执行某一个函数
var i=0;
setInterval(function(){i++;console.log("定时器执行了"+i+"次");
},2000);//定时器 - setTimeout -- 延迟指定时间执行一次
setTimeout(function(){alert("JS");
},3000);
Location:

DOM

<html><head><title>DOM</title></head><body><h1>DOM对象标题</h1><a href="hppts://itcast.cn">传智教育</a></body>
</html>

DOM是WC的标准,定义了访问HTML的标准,分为3个不同的部分:

        1.Core DOM -所以文档类型的标准模型

          Document:整个文档的对象

          Element:元素的对象

          Attribute:属性对象

          Text:文本对象

           Comment:注释对象

        2.XML DOM-HTML 文档的标准模型

           Image:<img>

           Button:<input type='button'>

HTML中的Element对象可以通过Document对象获取,而Document 对象是通过window对象获取的。

Document的对象中提供了一下获取Element元素对象的函数:

        1.根据id属性值获取,返回单个的Element对象

var h1=document.getElementById('h1');

        2.根据标签名获取,返回Element对象数组

avr divs =document.getElementsByTagName('div');

        3.根据name属性值获取,返回Element对象数组

var hobbys=document.getElementsByName('hobby');

        4.根据class属性值获取,返回Element对象数组

var class=document.getElementsByClassName('cls');

事件监听

事件:HTML事件是发生在HTML元素上的“事情”。比如:

        按钮被点击

        鼠标移动到元素上

        按下键盘按键

事件监听:JavaScript可以在事件被侦测到时执行代码

JS事件监听

事件绑定:

方式一:通过HTML标签中的事件属性来进行绑定

<input type="button" onclick="on()" value="按钮1"><script>fuction on(){alert('我被点击了!');}
</script>

方法二:通过DOM元素属性绑定

<input type="button" id= "btn" value="按钮2"><script>document.getElementById('btn').onclick=function(){alert('我被点击了');}
</script>

常见事件

例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><!-- 灯泡 --><img  id="light"src="D:\QQ文件\QQ20240918-175448.png" alt="" ><br><input  id="" type="button" value="点亮" onclick="on()"> <input id="" type="button" value="熄灭" onclick="off()"><br><!-- 文本框 --><input type="text" id="name" value="ITCAST" onfocus="lower()" onblur="upper()"><br><!-- 选项框 --><input type="checkbox"  name="hobby"> 电影 <input type="checkbox"  name="hobby"> 旅游 <input type="checkbox"   name="hobby"> 游戏<br><input type="button" value="全选" onclick="allcheck()"><input type="button" value="反选" onclick="nullcheck()" >
</body><script>// 点亮灯泡function on(){var img=document.getElementById("light");img.src="D:\\QQ文件\\QQ20240918-175529.png";}// 熄灭灯泡function off(){var img=document.getElementById("light");img.src="D:\\QQ文件\\QQ20240918-175448.png";}// 转大写function upper(){// 获取输入框元素var input=document.getElementById("name");input.value=input.value.toUpperCase();}// 转小写function lower(){//获取输入框元素var input=document.getElementById("name");input.value=input.value.toLowerCase();}function allcheck(){// 获取所有复选框的元素对象var hobbys=document.getElementsByName("hobby");// 设置选中状态for(let i=0;i<hobbys.length;i++){const element=hobbys[i];element.checked=true;}}function nullcheck(){// 获取所有复选框的元素对象var hobbys=document.getElementsByName("hobby");// 设置未选中状态for(let i=0;i<hobbys.length;i++){const element=hobbys[i];element.checked=false;}}</script>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/144654.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

作品集生成链接或二维码:设计师求职

在竞争激烈的设计行业&#xff0c;如何让自己的作品集脱颖而出&#xff0c;成为打开理想职业大门的关键钥匙&#xff1f;今天&#xff0c;我们就来聊聊将作品集生成链接或二维码这一强大功能&#xff0c;它正逐渐成为设计师们求职申请和作品展示的新利器。 一、传统作品集的困境…

SwiftData 共享数据库在 App 中的改变无法被 Widgets 感知的原因和解决

0. 问题现象 我们 watchOS 中的 App 和 Widgets 共享同一个 SwiftData 底层数据库&#xff0c;但是在 App 中对数据库所做的更改并不能被 Widgets 所感知。换句话说&#xff0c;App 更新了数据但在 Widgets 中却看不到。 如上图所示&#xff1a;我们的 App 在切换至后台之前会…

Mysql事务相关

什么是事务 事务是指是程序中一系列严密的逻辑操作&#xff0c;而且所有操作必须全部成功完成&#xff0c;否则在每个操作中所作的所有更改都会被撤消。可以通俗理解为&#xff1a;就是把多件事情当做一件事情来处理&#xff0c;好比大家同在一条船上&#xff0c;要活一起活&a…

置换排列的数学表达与Benes网络

摘要 本文主要讨论如何使用Benes网络完成排列的置换操作&#xff0c;介绍Benes网络的构造&#xff0c;以及具体的路由方式。 置换排列 这里的排列指一个n个不同元素的序列&#xff0c;不同的顺序代表不同的排列。比如 [ 1 , 2 , 3 , 4 ] [1,2,3,4] [1,2,3,4]和 [ 2 , 1 , 4 …

优青博导团队提供生信分析整体解决方案丨组学技术服务、表观组分析、互作组分析、遗传转化实验、单细胞检测与生物医学

平民价格给您最优的技术服务——生物信息技术分析就找汇智生物 业务领域&#xff1a; 组学技术服务 、表观组分析、互作组分析、遗传转化实验、单细胞检测与生物医学 合作免费提供&#xff1a; 博导团队免费指导实验、免费解读实验结果、实验整体打包服务、免费论文润色 生物…

TAPD7.0焕新升级!助力企业数字化敏捷研发提效

近日&#xff0c;TAPD的7.0升级版本&#xff0c;不仅外观、引擎、协作焕新升级&#xff0c;大型产品规模化&#xff0c;敏捷‍‍‍‍‍‍‍‍更跨组织/地域&#xff0c;研发协作小团队更轻便。 腾讯TAPD7.0焕新升级&#xff01; “外观”升级 导航革新&#xff1a;重塑导航栏…

windows10部署ChatTTS+Apifox调用

1 文件准备 准备好如下图所示的文件 2 修改ChatTTS_Win\ChatTTS\uilib\cfg.py 如下图所示&#xff0c;注释第34行&#xff0c;增加 WEB_ADDRESS 0.0.0.0:9998确保局域网内的其他设备也可以请求该服务。 3 启动服务 4 发送post请求 对应的请求内容如下&#xff1a; bash代…

字节推音乐生成神器 Seed-Music 支持多样化输入和精确控制

Seed-Music&#xff0c;字节跳动的最新音乐创作神器&#xff0c;能通过文字、音频等多种方式轻松生成音乐&#xff0c;仿佛拥有魔法般的魔力。它巧妙地融合了自回归语言模型与扩散模型&#xff0c;不仅确保了音乐作品的高品质&#xff0c;还赋予了用户对音乐细节的精准掌控能力…

【2025】中医药健康管理小程序(安卓原生开发+用户+管理员)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

电商商品详情API接口对电商跨境电商企业运营的好处

为了获取更大利益&#xff0c;电商商家经常需要使用价格&#xff0c;ERP接口系统。价格接口对电商商家有多方面的好处&#xff0c;主要体现在以下几个方面&#xff1a; 1、价格接口系统可以帮助品牌和商家实现更加科学和精准的定价策略。通过实时获取多个主流电商平台&#xf…

基于SpringBoot的智能排课系统设计与实现

文未可获取一份本项目的java源码和数据库参考。 &#xff08;一&#xff09;选题来源与背景 高校的每学期伊始&#xff0c;排课是教务处工作中的重中之重。安排合理无资源冲突&#xff08;教师、教室和设备等教学资源&#xff09;的课表是教务工作必须面临的问题。传统的人工…

【Python】练习:控制语句(二)第1关

第1关&#xff1a;分支结构基础实训 第一题第二题第三题第四题&#xff08;※&#xff09;第五题&#xff08;※&#xff09;第六题第七题 第一题 #第一题 for temp in [-280, -100, 0, 20, 120, 200]:#请在下面编写代码# ********** Begin ********** #if temp>-273.15:F9/…

使用Rust直接编译单个的Solidity合约

这里写自定义目录标题 使用Rust直接编译单个的Solidity合约前言预备知识准备工作示例 使用Rust直接编译单个的Solidity合约 前言 我们知道&#xff0c;我们平常开发Solidity智能合约时一般使用Hardhat框架&#xff0c;但是如果你是一个Rustacean (这是由 “Rust” 和 “crust…

SpringBoot项目同时集成Mybatis和Mybatis-plus框架

1. 背景 Mybatis-plus可以生成CRUD&#xff0c;减少开发中SQL编写量&#xff0c;但是某些情况下我们需要多表关联查询&#xff0c;这时候Mybatis可以手写SQL的优势就体现出来了&#xff0c;在实际开发中&#xff0c;项目里面一般都是Mybatis和Mybatis-Plus公用&#xff0c;但是…

<<编码>> 第 14 章 反馈与触发器(8)--带预设和清零的触发器 示例电路

带预设和清零的边缘触发 D 型触发器 info::操作说明 将 “清零” 置为高电平可将 Q 置为 0; 将 “预设” 置为高电平可将 Q 置为 1; 注: 如果两者同为高电平, 则清零占优, 应避免同时出现 其余操作同上 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhtt…

0基础跟德姆(dom)一起学AI 数据处理和统计分析04-Panda入门

* Pandas数据结构介绍 * Series对象 * DataFrame对象 * Series常见操作 * 常用属性 * 常用方法 * 布尔索引 * 运算 * DataFrame常见操作 * 常用属性 * 常用方法 * 布尔索引 * 运算 * 更改操作 --- 1.Pandas数据结构介绍 * 图解 * 解释 * **DataFrame…

STM32最小系统核心板-SZPT领跑团队-C4

目录 一、团队介绍 队伍介绍 二、stm32f103c8t6构成 (1)概要 &#xff08;2&#xff09;构成 三、电路设计 &#xff08;1&#xff09;电源电路 &#xff08;2&#xff09;晶振电路 &#xff08;3&#xff09;SWD接口电路 &#xff08;4&#xff09;.复位电…

[Leetcode 543][Easy]-二叉树的直径-递归

目录 一、题目描述 二、整体思路 三、代码 一、题目描述 原题地址 二、整体思路 取一个结点的最大直径就是取一个结点的左子树最大深度右子树最大深度之和&#xff0c;因此可以定义一个递归函数&#xff0c;作用是取一个结点的最大直径。这个函数中还实现了求左子树最大深度…

Find My资讯|AirPods 4标准版充电盒无扬声器,Find My查找不会发出声音

苹果 AirPods 4 国行版标准版 999 元&#xff0c;主动降噪款 1399 元。标准版充电盒未内置扬声器&#xff0c;降噪版内置扬声器可用于查找功能。 苹果 AirPods 4 搭载 H2 芯片&#xff0c;引入计算音频技术&#xff0c;充电盒支持 USB-C 充电&#xff0c;体积比前代缩小 10% 以…

yolo车位数据集

停车场车位检测数据集是一个非常有价值的数据资源&#xff0c;它对于开发和训练能够自动识别停车位是否被占用的计算机视觉系统至关重要。以下是对这样一个数据集的详细介绍&#xff0c;以及如何使用这个数据集来训练YOLO&#xff08;You Only Look Once&#xff09;这样的目标…