JavaScript入门介绍2021/02/27
正文
一、JavaScript简介一
1.1 javascript 简介
- JavaScript是Web页面中的一种脚本编程语言,可用于Web系统的客户端和服务器端编程
- 前身叫做LiveScript,是Netscape公司开发的脚本语言。在Sun公司推出Java语言后, Netscape公司和Sun公司于1995年一起重新设计了LiveScript,并将其更名为JavaScript。
1.2 JavaScript 嵌入
-
在 Html 中嵌入 Html
-
在HTML中通过<script>… </ script>引入JavaScript代码
-
当浏览器读取到<script>标记时,解释执行其中的脚本。
-
-
script的两个属性
- type=“text/javascript”
- src=“url”
1.3 JavaScript 编程基础 & 流程控制语句
-
常量:数值型(整数、浮点数)、字符串和布尔型
-
变量
- 使用变量 "var"声明变量。
- JavaScript是弱类型语言,莫名其妙可能就从 int 变成了 string,这里给出下面的类型转换函数
- Number(mix)函数,可以将任意类型的参数mix转换为数值类型。其规则为:
- 如果是布尔值,true和false分别被转换为1和0
- 如果是数字值,返回本身。
- 如果是null,返回0
- 如果是undefined,返回NaN
- 如果是字符串,遵循以下规则:
a.如果字符串中只包含数字,则将其转换为十进制(忽略前导0)
b.如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0)
c.如果是空字符串,将其转换为0
d.如果字符串中包含非以上格式,则将其转换为NaN - 如果是对象,则调用对象的valueOf()方法,然后依据前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,再次依照前面的规则转换返回的字符串值。
- parseFloat(string)函数,将字符串转换为浮点数类型的数值。
- 它的规则与parseInt基本相同,但也有点区别:字符串中第一个小数点符号是有效的,
- 另外parseFloat会忽略所有前导0,如果字符串包含一个可解析为整数的数,则返回整数值而不是浮点数值。
- toString(radix)方法
- 除undefined和null之外的所有类型的值都具有toString()方法,其作用是返回对象的字符串表示。
- parseInt(string, radix)函数,将字符串转换为整数类型的数值。它也有一定的规则:
- 忽略字符串前面的空格,直至找到第一个非空字符
- 如果第一个字符不是数字符号或者负号,返回NaN
- 如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止
- 如果上步解析的结果以0开头,则将其当作八进制来解析;如果以x开头,则将其当作十六进制来解析
- 如果指定radix参数,则以radix为基数进行解析
- Boolean(mix)函数,将任何类型的值转换为布尔值。
- Number(mix)函数,可以将任意类型的参数mix转换为数值类型。其规则为:
-
运算符
-
算术运算符:+、-、*、/、%(取余数)、++、--
-
关系运算符:<、<=、>、>=、= =、!=
-
逻辑运算符:&&、||、!
-
字符串运算符:+(连接) 这个在java中也是有的
-
赋值运算符:=
-
条件运算符:condition?true_result:false_result
-
-
流程控制语句
- 顺序结构
- 分支结构
- if --- else ---
- switch
- 循环结构
- for
- while
- do while
1.4 JavaScript 对话框
这里我们介绍三个最常用的对话框
-
alert:警告对话框
-
confirm:确认对话框,返回一个bool值
-
prompt:输入对话框
示例:
询问用户是否学习过Java语言,如果学习过,输入考试分数,对分数进行评价;如果没有学习过,提示需要先学习Java才能继续。
代码:
<!--Java--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaTest</title> </head> <script type="text/javascript"> var learned = confirm("have you ever learned java?"); if (learned) { var score = prompt("what's you score?"); score = Number(score); var res = ""; switch (score / 10) { case 10: res = "all right!"; break; case 9: res = "A"; break; case 8: res = "B"; break; case 7: res = "C"; break; case 6: res = "D"; break; default: res = "E"; } alert("The res:" + res + "!"); } else { alert("sorry, without the data we can't conclude!"); } </script> <body> </body> </html>
1.5 JavaScript 对象
java的对象分为内置对象,自定义对象,和浏览器对象,下面我们介绍一下javaScript的内置对象
- 在JavaScript中,可通过new运算符来创建对象,即**变量名= new 对象名() **
- 将新创建的对象赋予一个变量后,就可以通过这个变量访问对象的属性和方法
下面我们介绍几个常见的对象
-
Date对象:该对象主要提供获取和设置日期和时间的方法。例如,getFullYear() 、getMonth() 、getDate () 、getDay ()
-
String对象:该对象提供了对字符串进行处理的属性和方法。例如:length()、toLowerCase()、toUpperCase()、substr()
-
Array对象:在JavaScript中,使用内置对象Array创建数组对象。格式为:var arrayname=new Array(arraysize)
注意这个对象的声明依旧是 使用 var,只不过new 后面跟了类型
下面我们给出一个JavaScript内置对象的示例
<!--Java--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaTest</title> </head> <script type="text/javascript"> var date = new Date(); var curDay = date.getDay(); <!--获取当前星期--> alert("Day" + date.getDay()); <!--获取当前星期--> alert("Year" + date.getFullYear()); <!--获取当前年份--> alert("Month" + date.getMonth()); alert("Date" + date.getDate()); alert("Hours" + date.getHours()); <!--获取当前时间--> </script> <body> </body> </html>
下面我们给出具体官方的自定义对象方法的介绍:
-
其他对象就是Date对象的旁边,这里就不给了。
1.6 事件驱动
-
事件驱动的定义
用户操作事件(操作鼠标或按键的动作)或系统操作事件(如载入页面等)引起一连串程序动作的执行方式,称为事件驱动。
-
事件处理的定义
为了响应某个事件而进行的处理过程,称为事件处理。
-
事件处理程序的定义
对事件进行处理的过程或函数,称为事件处理程序。
JavaScript使用事件的两种方法----HTML标记或使用JavaScript语句
- 许多HTML标记允许加上以事件名为名的属性,
- 如在按钮标记中加上onclick事件属性,并为该属性给出值。
- 例如,设计一个表单,放入两个按钮,单击它们时将显示内容。
- 使用事件的另一种方法是使用JavaScript语句:对象.事件=函数名。
下面我们给出一个示例:
要求用户输入圆 的半径,计算并输出圆的面积
主要是使用了第一种的方法。
<!--Java--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaTest</title> </head> <script type="text/javascript"> function calArea() { var radius = prompt("请输入圆的半径,进行计算"); radius = Number(radius); if (radius < 0) { alert("数据范围错误"); } else { alert("S=" + (3.14 * radius * radius)); } } </script> <body> <input type="button" name="btn" value="点击开始进行圆的面积" onclick="calArea()" /> </body> </html>
完成数据的累加和计算
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>累加和计算</title> </head> <script> function sum() { var n = prompt("请输入一个正整数n,计算1~n累加和"); if (n < 1) { <!--数据输入有误--> var myContinue = confirm("数据输入有误,是否继续输入正确数据"); if (myContinue) { sum(); <!--继续递归调用--> } } else { <!--必须要强制类型转换--> n = Number(n); var res = (n + 1) * n / 2; alert("1+2+...+" + n + "结果=" + res); } } </script> <body> <input type="button" name="btn1" value="开始计算累加和" onclick="sum()" /> </body> </html>
二、JavaScript简介二
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)