JavaScript基础语法(超详细!)

news2024/9/24 19:07:19

为什么学JS?

1.页面动态效果

2.表单验证

可以包含在文档中的任何地方,只要保证这些代码在被使用前已读取并加载到内存即可

<script>…
</script>

网页中引用JavaScript的方式:

1.使用<script>标签外部JS文件

<script src="export.js"  type="text/javascript"></script>

2.直接在HTML标签中

<input name="btn" type="button" value="弹出消息框"   
   onclick="javascript:alert('欢迎你');"/>

JavaScript核心语法:

1.变量:

1.先声明变量再赋值

//var用于声明变量的关键字

//width变量名

var width; 
width = 5;

2.同时声明和赋值变量

var myName = "蛋蛋怪";
var a,b,c = 10;

3.不声明直接赋值(不推荐)

变量可以不经声明而直接使用,但这种方法很容易出错,也很难查找排错,不推荐使用

width = 5;

2.数据类型

  1. undefined:表示变量被声明了,但尚未赋值。

width没有初始值

var width;

  1. null:表示一个空值,与undefined值相等
  • 表示“无”或“空”的值,通常用来表示一个变量应当指向一个对象但当前没有指向任何东西。
let y = null;  //let是JS中声明的另一种方式,声明的变量是块级作用域
var x = null;   //var声明的变量是函数作用域的,这意味着它们在整个函数内部都可见。

  1. number:
  • 表示数值类型,包括整数和浮点数。在JS中,所有的数字都是以浮点数形式表示的,即使是整数也是这样。
let aa = 42;  //整数
let bb = 3.14;//浮点数

  1. boolean:
  • 表示布尔值,只有两个可能的值:truefalse
let bool = true;
  1. string:
  • 指一组被单引号 (')、双引号 (") 或反引号 (`) 包裹的文本。
let greeting = "Hello, world!";

3. typeof运算符

作用:typeof检测变量的返回值

typeof运算符返回值如下

undefined:变量被声明后,但未被赋值

string:用单引号或双引号来声明的字符串

boolean:true或false

number:整数或浮点数

object:javascript中的对象、数组和null

4.String对象:

属性:

字符串对象.length

var str="this is JavaScript";
var strLength=str.length;    //长度是18

字符串对象.方法名();

5.数组

创建数组:

第一种:

size:表示数组中可存放的元素总数

var 数组名 = new Array(size);

访问数组:通过下标访问

 var fruit = new Array(4);
    fruit[0] = "apple";
    fruit[1] = "banana";
    fruit[2] = "orange";
    fruit[3] = "banana";

第二种:

var animal = new Array("apple","orange","peach","banana");

数组的常用属性和方法:

    var animal = new Array("apple","orange","peach","banana");
    var num = [21,45,1,41];
    console.log(fruit[0]);
    console.log(animal.length);
    console.log(animal.join(","));
    console.log(num.sort());
    var i = animal.push("woof");
    //向数组末尾添加一个或更多元素,并且返回新的长度
    console.log(i);

6.运算符号

7.逻辑控制语句

if条件语句:
if(条件)
{
   //JavaScript代码;
}
else
{
  //JavaScript代码;
}

switch语句:
switch (表达式)
{    case 常量1 : 
              JavaScript语句1;
	break;
       case 常量2 : 
 	JavaScript语句2;
 	break;
         ...
        default : 
             JavaScript语句3;  

for、while循环语句:
for(初始化;  条件;  增量)
 {
      JavaScript代码; }

while(条件)
 {
      JavaScript代码;
}
for-in:
var fruit=[ "apple", "orange", "peach","banana"]; 
for(var i in fruit){
       document.write(fruit[i]+"<br/>");
}

8.循环中断break:

break:跳出循环

<script type="text/javascript">
var i=0;
for(i=0;i<=5;i++){
	if(i==3){
                   break;
         }
  document.write("这个数字是:"+i+"<br/>");
}
</script>

continue:跳出本次循环,进入下次循环

<script type="text/javascript">
var i=0;
for(i=0;i<=5;i++){
	if(i==3){
                   continue;
       }
  document.write("这个数字是:"+i+"<br/>");
}
</script>

9.注释:

单行注释://

多行注释: /* */

10.常用的输入/输出

1. alert()
alert("提示信息");

2. prompt():提示输入框
prompt("提示信息", "输入框的默认信息");
prompt("请输入你喜欢的颜色","红色");
prompt("请输入你喜欢的颜色","");

11.语法约定

代码区分大小写

变量、对象和函数的名称

分号

程序调试:

Chrome开发人员工具:

停止断点调试

单步调试,不进入函数体内部

单步调试,进入函数体内部

跳出当前函数

禁用所有的断点,不做任何调试

alert()方法

什么是函数:

简单来说,函数的作用就是封装一段代码,使其可以在不同地方被调用,而不需要重复写相同的代码。

用的时候直接用,不用定义属于哪个类

 <script>
  function add(a,b){
    return a+b;
  }

let result = add(5,6);
console.log(result);
 </script>

常用系统函数:

parseInt("字符串")

将字符串转换为整型数字

parseFloat("字符串")

将字符串转换为浮点型数字

isNaN()

用于检查其参数是否是非数字

自定义函数:

格式:
   function first(参数列表){
        //js语句
        [return 返回值](可有可无)
    }

函数调用一般和表单元素的时间一起使用,调用格式

事件名 = "函数名()";

例如:在点击按钮时调用函数showMessage

<body>
    <button onclick="showMessage()">Click Me</button>
    <script>
        function showMessage() {
            alert('Button clicked!');
        }
    </script>
调用无参函数:
<body>
  <script>
  function study(){
    for(var i=0;i<5;i++){
      document.write("<h4>欢迎学习JS</h4>")
    }
  }
  </script>
  <input name="btn" type="button" value="显示5次欢迎学习" onclick="study()"/>

  </body>

调用有参函数:

这里的prompt更像是java中的scanner,用来让用户输入的

<body>
  <script>

  function study(count){
    for (var i=0;i<count;i++){
      document.write("<h4>欢迎学习js</h4>")
    }
  }
  </script>
  <input name="btn" type="button" value="请输入显示欢迎学习JS次数"
  onclick="study(prompt('请输入要显示学习次数'))">

  </body>

事件:

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

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

相关文章

层归一化(201607)

Layer Normalization 层归一化 https://arxiv.org/abs/1607.06450 Abstract Training state-of-the-art, deep neural networks is computationally expensive. One way to reduce the training time is to normalize the activities of the neurons. A recently introduced…

gdb 前端:kdbg 安装使用

文章目录 1. 前言2. kdbg 安装使用2.1 安装 kdbg2.2 使用 kdbg 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. kdbg 安装使用 2.1 安装 kdbg kdbg 是 gdb 的图形化界面的前端&#xff0c;在 …

2018年系统架构师案例分析试题五

目录 案例 【题目】 【问题 1】(7 分) 【问题 2】(12 分) 【问题 3】(6 分) 【答案】 【问题 1】解析 【问题 2】解析 【问题 3】解析 相关推荐 案例 阅读以下关于 Web 系统设计的叙述&#xff0c;在答题纸上回答问题 1 至问题 3。 【题目】 某银行拟将以分行为主体…

多卡微调智谱glm-4-9b-chat

1 什么是微调&#xff1a; 大模型微调&#xff08;Fine-tuning of large models&#xff09;是一种通过对已经训练好的大规模预训练模型进行进一步训练的技术&#xff0c;以便让模型在特定任务或特定领域上表现得更好。微调通常是在已经有了一个通用的、经过大规模数据训练的基…

恐怖类游戏智能体————恐怖探险家

智能体名称&#xff1a;恐怖探险家 链接&#xff1a;文心智能体平台AgentBuilder | 想象即现实 (baidu.com)https://agents.baidu.com/center/agent/preview/MFhBvA0K9EXXVdjHCcUumadWmWesKvw2 角色与目标设定 &#x1f9d1;&#x1f3fb; 角色&#xff1a;恐怖探险家是一位…

2.快速部署一个Kubernetes集群

&#x1f482; 个人主页: Java程序鱼 &#x1f4ac; 如果文章对你有帮助&#xff0c;欢迎关注、点赞、收藏(一键三连)和订阅专栏 &#x1f464; 微信号&#xff1a;hzy1014211086&#xff0c;想加入技术交流群的小伙伴可以加我好友&#xff0c;群里会分享学习资料、学习方法…

Unity人工智能开发学习心得

在Unity中进行人工智能研究与应用主要集中在几个关键领域&#xff0c;包括使用Unity ML-Agents插件进行强化学习、利用神经网络技术和深度学习技术训练AI&#xff0c;以及基于行为树技术设计游戏人工智能。 ‌使用Unity ML-Agents插件进行强化学习‌&#xff1a;Unity ML-Agent…

网络安全 DVWA通关指南 DVWA Reflected Cross Site Scripting (反射型 XSS)

DVWA Reflected Cross Site Scripting (反射型 XSS) 文章目录 DVWA Reflected Cross Site Scripting (反射型 XSS)XSS跨站原理反射型 LowMediumHighImpossible 参考文献 WEB 安全靶场通关指南 XSS跨站原理 当应用程序发送给浏览器的页面中包含用户提交的数据&#xff0c;但没有…

Linux进阶命令-echodatealias

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 经过上一章Linux日志的讲解&#xff0c;我们对Linux系统自带的日志服务已经有了一些了解。我们接下来将讲解一些进阶命令&am…

自然语言处理系列六十九》搜索引擎项目实战》搜索框架技术选型

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列六十九搜索引擎项目实战》搜索框架技术选型搜索…

大模型结合知识库问答应用第一次实践

大模型结合知识库问答应用第一次实践 这份完整版的大模型 AI 学习资料已经上传CSDN&#xff0c;朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】 记录一次用大模型LLM和向量数据库&#xff0c;搭建垂直领域的知识库问答实践。上文已经介绍了文本如…

第151天:红队APT-钓鱼篇邮件钓鱼SPF绕过自建邮件系统SwaksGophish

案例一&#xff1a;邮件钓鱼-前置知识 现在很多大型网站的邮件服务器已经做的很安全了&#xff0c;文中的很多方法感觉已经不适用&#xff0c;学习思路遇到公司自己搭建的邮件服务器可以尝试把 SPF 发件人策略框架&#xff08; Sender Policy Framework &#xff09;电子邮件认…

移植案例与原理 - utils子系统之file文件操作部件

往期知识点记录&#xff1a; 往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 startup子系统之syspara_lite系统属性部件 &#xff08;1&#xff09; startup子系统之syspara_lite系统属性部件 &#xff…

基于ssm+vue+uniapp的电影交流平台小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

海康IPC摄像头通过国标28181方式接入带域名的视频监控接入平台,视频通道无法上传到视频监控平台,导致无法获取视频资源的问题解决

目录 一、问题背景 二、域名介绍 1、域名详解 2、域名与IP的区别 三、解决过程 1、检查设备能力 2、升级摄像头的版本 3、通过域名进行连接 4、在视频监控平台观察接入情况 四、解决结果 一、问题背景 视频监控接入平台部署在内网环境&#xff0c;摄像头在公网或在另一个局…

【Linux C | 终端设备】Linux下 tty、ttyS*、ttyAMA*、console 的区别,以及系统输出重定向(附带代码)

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 2024-09-11 …

QT实现TCP/UDP通信

服务器端&#xff1a; 客户端&#xff1a; 服务器&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QTcpSocket> #include <QList> #include <QMessageBox> #include <QDebug&…

哈喽GPT-4o,现代程序员提高编码能力的正确打开方式

目录 round 1&#xff1a;图片识别能力ChatGPT4oClaude3.5 Sonnet图片识别能力小结&#xff1a;图片识别能力&#xff0c;ChatGPT4o完胜。 round 2&#xff1a;代码能力ChatGPT4oClaude3.5 Sonnet代码能力小结&#xff1a;代码能力&#xff0c;Claude3.5 Sonnet小胜。 round 3&…

一个人,如何管理上百个污水处理站?

管理上百个污水处理站&#xff0c;无疑是一项复杂而艰巨的任务&#xff0c;它不仅要求管理者具备深厚的专业知识、卓越的组织协调能力&#xff0c;还依赖于先进的技术支持与科学的管理模式。以下几点策略&#xff0c;可为高效管理众多污水处理站提供参考框架&#xff1a; 1. 部…

Unity+LeapMotion2的使用

开始吧 导入步骤1.到官网下载软件并安装2.安装插件3.场景中添加检测管理器4.场景中添加手部模型 更多细节 导入步骤 1.到官网下载软件并安装 地址 重启电脑后连接设备 可以看到连接成功 2.安装插件 &#xff08;也可以看官方教程&#xff09; Project—>PackageManag…