JS基础(语法结构变量数据类型运算符流程控制)

JS基础(语法结构/变量/数据类型/运算符/流程控制)

目录

  • JS基础(语法结构/变量/数据类型/运算符/流程控制)
    • 什么是js?
    • 注释语法
    • 语法结构
    • 引入方式
        • 【1】script标签内部直接书写js代码
        • 【2】script标签src属性引入外部js代码
    • JS基础数据类型
    • 变量与常量
      • 变量的定义
      • 常量的定义
    • 运算符
      • 算数运算符
        • 算术运算符:
        • 赋值运算符
        • 比较运算符:
        • 逻辑运算符
        • 条件运算符(三元运算符)
    • 流程控制语句
      • if条件语句
      • for循环
      • switch语句
      • while循环

什么是js?

JavaScript 是一种前端脚本编程语言,主要依赖于Web浏览器运行,同时也可以进行后端开发,例如Node.js。通过DOM操作网页元素,POM设计模式使测试代码更可维护、可扩展,提高自动化测试效率。

注释语法

// 单行注释
/*
多行注释
多行注释
*/

语法结构

js可以加;结尾,也可以不加,不会影响代码执行。建议要么整个项目都加,要么整个项目都不加

console.log("Hello");
console.log("World")

image-20240220203804586

引入方式

【1】script标签内部直接书写js代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>console.log("你好")
</script>
</body>
</html>

image-20240220203256152

【2】script标签src属性引入外部js代码
<!--test.html-->
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="test.js"></script>
</head>
<body>
</body>
</html><!--test.js-->
console.log("Hello")

image-20240220203659082

JS基础数据类型

  1. 字符串String,表示文本数据,使用单引号或双引号包裹起来,例如 'Hello'"World"
  2. 数字Number,表示数字类型,可以是整数和浮点数,例如63.5
  3. 布尔值Boolean,表示逻辑值,只有TrueFalse
  4. 空值Null,表示没有值的特殊类型,只有一个取值Null
  5. 未定义Undefind,表示未被赋值的变量,默认情况下具有未定义的值,通过 undefined 表示
  6. 符号Symbol,表示独一无二的值,用于创建唯一的对象属性键
  7. 数组Array,表示有序的可迭代的数据列表,通过 [] 定义,可以存储多个值,与python中的列表相似
  8. 对象Object,表示键值对集合,通过 {} 定义,并且可以动态添加、修改和删除属性,与python中的字典相似

变量与常量

变量的定义

在JS中定义变量会用varlet关键字进行声明

var x = 10; // 可以修改值
let y = "Hello"; //可以修改值

常量的定义

在JS中定义常量会用const关键字进行声明

const z = 3.14; //不可修改值

常量一旦被赋值后便不可被修改,如果修改则会报错

运算符

算数运算符

  1. 算术运算符:
    • 加法:+

    • 减法:-

    • 乘法:*

    • 除法:/

    • 取余:%

    • 自增:++

    • 自减:--

      • 其中++和–需要额外注意的是,x++和++x并不是同一个含义

      • // ++x表示先+1再赋值
        var x = 10;
        console.log(++x); // x = 11// y++表示先赋值再+1
        var y = 10;
        console.log(y++); // y = 10
        console.log(y); // y = 11
        
  2. 赋值运算符
    • 简单赋值:=
    • 加法赋值:+=
    • 减法赋值:-=
    • 乘法赋值:*=
    • 除法赋值:/=
    • 取余赋值:%=
    • 其他赋值运算符如 **=<<=>>= 等等
  3. 比较运算符:
    • 相等:==
    • 不相等:!=
    • 全等:===
    • 不全等:!==
    • 大于:>
    • 小于:<
    • 大于等于:>=
    • 小于等于:<=
  4. 逻辑运算符
    • 逻辑与:&&
    • 逻辑或:||
    • 逻辑非:!
  5. 条件运算符(三元运算符)
    • 条件条件成立表达式1:条件不成立表达式2

    • var age = 18;
      var result = (age >= 18) ? "成年人" : "未成年人";
      console.log(result); // 输出: "成年人"
      

流程控制语句

if条件语句

var x = 8;
if (x<20){conlose.log('x小于20')
}else if (x<10){conlose.log('x小于10')
}else{conlose.log('x大于等于20')
}

image-20240220211836909

for循环

for (var i = 0; i < 5; i++) {console.log(i)
}

image-20240220211534169

switch语句

var x = 3;
switch(x){case 1:console.log("今天是周一");break;case 2:console.log("今天是周二");break;case 3:console.log("今天是周三");break;
}

image-20240220212252477

while循环

var x = 0;
while(x < 10){console.log(x);x++;
}

image-20240220212038156

console.log("今天是周三");break;

}


[外链图片转存中...(img-2oAdrPYx-1708435445382)]### while循环```js
var x = 0;
while(x < 10){console.log(x);x++;
}

[外链图片转存中…(img-dCzXvelv-1708435445382)]

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

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

相关文章

ONLYOFFICE 8.0:引领数字化办公新纪元

目录 前言 软件安装 软件启动 软件新版本特性 个人评价 总结 前言 在当今快节奏的数字化世界中&#xff0c;高效的办公软件已成为企业竞争力的关键因素。ONLYOFFICE&#xff0c;作为全球领先的办公解决方案提供商&#xff0c;始终致力于通过技术创新来优化用户体验。如今…

Java使用Redis实现消息队列

近期刷Java面试题刷到了“如何使用Redis实现消息队列”&#xff0c;解答如下&#xff1a; 一般使用 list 结构作为队列&#xff0c; rpush 生产消息&#xff0c; lpop 消费消息。当 lpop 没有消息的时候&#xff0c;要适当sleep 一会再重试。若不使用sleep&#xff0c;则可以用…

【力扣 - 二叉树的最大深度】

题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 提示&#xff1a; 树中节点的数量在 [0, 10^4] 区间内。 -100 < Node.val < 100方法一&#xff1a;深度优先搜索 思路与算法 如…

Rust中不可变变量与const有何区别?

Rust作者认为变量默认应该是immutable&#xff0c;即声明后不能被改变的变量。这一点是让跨语言学习者觉得很别扭&#xff0c;不过这一点小的改变带来了诸多好处&#xff0c;本节我们来学习Rust的变量。 什么是变量&#xff1f; 如果你初次学习编程语言&#xff0c;变量会是一…

使用go-llama.cpp 运行 yi-01-6b大模型,使用本地CPU运行,速度挺快的

1&#xff0c;视频地址 2&#xff0c;关于llama.cpp 项目 https://github.com/ggerganov/llama.cpp LaMA.cpp 项目是开发者 Georgi Gerganov 基于 Meta 释出的 LLaMA 模型&#xff08;简易 Python 代码示例&#xff09;手撸的纯 C/C 版本&#xff0c;用于模型推理。所谓推理…

手撕C语言习题

定义一个表示公交线路的结构体&#xff0c;要求有线路名称(例如 616)&#xff0c;起始站&#xff0c;终点站&#xff0c;里程等成员&#xff0c; 定义结构体数组&#xff0c;用来存储多条条公交线路信息&#xff0c;要求能够输出从指定起始站发车的所以公交线路信息。 2、定义…

【软考高项】【教材知识梳理】- 15 - 第15章 - 项目风险管理

一、基本问题 1&#xff1a;按照可预测性&#xff0c;风险分哪三类&#xff1f; &#xff08;1&#xff09;已知风险&#xff1a;如项目目标不明确&#xff0c; 过分乐观的进度计划&#xff0c; 设计或施工变更和材料价格波动等。&#xff08;2&#xff09;可预测风险&#xff…

NVIDIA Corporation 在 GitHub 的官方主页

NVIDIA Corporation 在 GitHub 的官方主页 References https://github.com/NVIDIA References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

力扣题目训练(17)

2024年2月10日力扣题目训练 2024年2月10日力扣题目训练551. 学生出勤记录 I557. 反转字符串中的单词 III559. N 叉树的最大深度241. 为运算表达式设计优先级260. 只出现一次的数字 III126. 单词接龙 II 2024年2月10日力扣题目训练 2024年2月10日第十七天编程训练&#xff0c;今…

Mysql Day06

sql优化 插入数据 大批量插入数据 主键顺序插入性能高于乱序插入 load data local infile /root/load_user_100w_sort.sql into table tb_user fields terminated by , lines terminated by \n ; 主键优化 这个黄色的都是一个一个Page 主键乱序插入之后会变成1-3-2&#x…

qt - 19种精美软件样式

qt - 19种精美软件样式 一、效果演示二、核心程序三、下载链接 一、效果演示 二、核心程序 #include "mainwindow.h"#include <QtAdvancedStylesheet.h> #include <QmlStyleUrlInterceptor.h>#include "ui_mainwindow.h" #include <QDir&g…

从零开始学习Netty - 学习笔记 - NIO基础 - ByteBuffer: 简介和基本操作

NIO基础 1.三大组件 1.1. Channel & Buffer Channel 在Java NIO&#xff08;New I/O&#xff09;中&#xff0c;“Channel”&#xff08;通道&#xff09;是一个重要的概念&#xff0c;用于在非阻塞I/O操作中进行数据的传输。Java NIO提供了一种更为灵活和高效的I/O处理方…

基于微信小程序的日语学习的系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

中台的介绍及讲解

什么是中台 公司在新的一年规划中提出了新的发展战略&#xff0c;我们老板听说最近中台的概念很火&#xff0c;让我们调研公司实习中台战略的可行性&#xff0c;于是乎最近一段时间被老板折腾得够呛。刚开始并不理解什么是中台… 因此&#xff0c;写篇博客先简单介绍下什么是中…

mp3播放器

无界面播放器 一、首先需要一个存放音乐文件的路径 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> #include <glob.h> #include <signal.h>int menu(void); void fu…

24-k8s的附件组件-Metrics-server组件与hpa资源pod水平伸缩

一、概述 Metrics-Server组件目的&#xff1a;获取集群中pod、节点等负载信息&#xff1b; hpa资源目的&#xff1a;通过metrics-server获取的pod负载信息&#xff0c;自动伸缩创建pod&#xff1b; 参考链接&#xff1a; 资源指标管道 | Kubernetes https://github.com/kuberne…

静态时序分析:SDC约束命令set_input_delay详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 本章将讨论使用set_input_delay命令对输入端口的约束。首先需要说明的是&#xff0c;在进行静态时序分析时&#xff0c;任何一条时序路径都需要有约束&#xff0…

如何使用安卓平板远程Ubuntu服务器通过VS Code远程开发

文章目录 1.ubuntu本地安装code-server2. 安装cpolar内网穿透3. 创建隧道映射本地端口4. 安卓平板测试访问5.固定域名公网地址6.结语 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通俗易懂&#xff0c;风趣幽默&#xff0c;…

【.NET Core】常见C#代码约定

【.NET Core】常见C#代码约定 文章目录 【.NET Core】常见C#代码约定一、概述二、代码预定的目标三、代码约束工具和分析器四、C#语言准则五、字符串约定5.1 使用字符串内插来连接短字符串5.2 插入大文本时&#xff0c;使用System.Text.StringBuilder对象 六、数组约定七、委托…

php数组运算符 比较 isset、is_null、empty的用法和区别

php数组运算符 1. 数组运算符2. 判断两个数组是否相等3. isset、is_null、empty的用法和区别 1. 数组运算符 注意&#xff1a;只会保留第一个数组中的键值对&#xff0c;而忽略后面数组中相同键名的元素&#xff0c;如果想要合并两个数组并覆盖相同键名的元素&#xff0c;可以…