JavaScript第一天

news2024/9/21 20:33:23

变量的基本使用

更新变量

    let age = 18
    age = 19

用户名输入案例:
 

let uname = prompt('请输入姓名')
document.write(uname)

这样在提示框中输入姓名之后,就会在网页中显示出来

当输入之后不在网页中显示的时候,可能是变量名写错了,这时候打开console:

就会发现未定义变量。

交换变量的值

    let num1 = 10
    let num2 = 20
    let temp
    temp = num1
    num1 = num2
    num2 = temp

变量命名规范

不用关键字:let、var、if、for

只能用下划线、字母、数字、$组成,数字不能开头

字母区分大小写

小驼峰命名法:第一个单词首字母小写,后面每个单词首字母大写,如:userName

let和var区别

var可以先使用,再声明,重复声明,

数组

    let arr = [10, 20, 30]
    console.log(arr)
    document.write(arr[0])
    document.write(arr.length)

在控制台显示arr[3],刷新后显示具体的内容,在网页显示10,arr.length 返回数组长度

常量

const 定义

    const PI = 3.14
    console.log(PI);

数据类型

基本数据类型

number数字型

string字符串型

boolean布尔型

null空

undefined未定义

引用数据类型

object对象

js的数据为弱数据类型,js中所有的数字都称为number型(学完c++狂喜)

字符串:

    let str = 'pink'
    let str1 = "pink"
    let str2 = `pink`
    console.log('pink讲课有'激情'')//报错
    console.log('pink讲课有"激情"')
    console.log("pink讲课有'激情'")
    console.log('pink讲课有\'激情\'')//转义符,不报错

加号:

    console.log(1 + 1);
    console.log('pink' + '老师');

数字相加,字符相连

    let age2 = prompt("请输入年龄")
    document.write("我今年" + age2)

有点可以操控的感觉了

模版字符串

用于拼接字符串和变量,如果不用它,拼接比较麻烦,如:

 document.write('大家好我是'+name+"我今年" + age2+'岁')

语法:反引号``,${ }

    document.write(`大家好我是${name},我今年${age2}岁`)

布尔类型

    let isCool = true
    console.log(isCool)

输出为true

还有false

未定义类型

只声明,不定义,是undefined,

    let num
    console.log(num);

空类型:null

undefined表示没有赋值,null表示赋空值

    console.log(undefined+1);
    console.log(null+1);

第一行运行为NaN:not a number

第二行运行为:1

检测数据类型

    let age
    let b = 10
    let c = 'gggg'
    let d = false
    console.log(typeof age);
    console.log(typeof b);
    console.log(typeof c);
    console.log(typeof d);

特殊的是:

    let obj = null
    console.log(typeof obj);

输出类型为:object

null一般用于要创建对象,先占位。类似 a href="#"

类型转换

首先:控制台中黑色为字符串,蓝色为数字类型

 为什么需要转换:

使用表单,promp获取的数据默认是字符串类型,如:

请输入基本工资:10000

请输入提成:2000

您的工资为:100002000

类型转换有隐式转换和显示转换:

隐式转换

+号两边只要有一个字符串,就会把另一个转化为字符串,

除了+号以外的字符串,- * / 都会转化为number类型

    console.log('pink' + 1);
    console.log(2 + '2');
    console.log('2' - 1);
    console.log('2' * 2);
    console.log('pink' / 2);

 +号还一个作用,是转换类型

    console.log(+'123');

在控制台上是蓝色数字类型123,

-号也可以,输出-123

显式转换

    let str = '123'
    console.log(Number(str));
    console.log(Number('123'));
    console.log(Number('pink'));//报错

    let num = prompt('输入年薪')
    console.log(Number(num));

    let num2 = Number(prompt('输入年薪'))
    console.log(num2);

    let num3 = +prompt('输入年薪')
    console.log(num3);

parseInt:保留整数

parseFloat:保留浮点数

    console.log(parseInt('120px'));
    console.log(parseInt('12.34px'));
    console.log(parseInt('120px333'));

    console.log(parseFloat('12px'));
    console.log(parseFloat('12.34px'));
    console.log(parseFloat('120.6px333'));

实践:两数之和

    let num1 = +prompt('请输入第一个数字')
    let num2 = +prompt('请输入第二个数字')

    alert(`两数之和为${num1 + num2}`)

综合实例

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    h1 {
      text-align: center;
    }

    table {
      border: 1px solid #000;
      border-collapse: collapse;
      height: 80px;
      margin: 0 auto;
    }

    th {
      border: 1px solid #000;
      padding: 10px 30px;
    }

    td {
      border: 1px solid #000;
      text-align: center;
    }
  </style>
</head>

<body>
  <h1>订单确认</h1>


  <script>
    //输入
    let num = +prompt('请输入商品数量')
    let address = prompt('请输入收货地址')
    //计算
    let total = num * 299
    //打印
    document.write(`
        <table>
          <tr>
            <th>商品名称</th>
            <th>商品价格</th>
            <th>商品数量</th>
            <th>总价</th>
            <th>收货地址</th>
          </tr>
    
          <tr>
            <td>小米手环9NFC版</td>
            <td>299元</td>
            <td>${num}</td>
            <td>${total}</td>
            <td>${address}</td>
    
          </tr>
    
        </table>
    
    
    `)

  </script>
</body>

</html>

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

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

相关文章

C++笔记---缺省参数和函数重载

1. 缺省参数 1.1 定义 缺省参数是声明或定义函数时为函数的参数指定一个缺省值&#xff08;默认值&#xff09;。在调用该函数时&#xff0c;如果没有指定实参 则采用该形参的缺省值&#xff0c;否则使用指定的实参&#xff0c;缺省参数分为全缺省和半缺省参数。 void Func(…

Linux源码阅读笔记14-IO体系结构与访问设备

IO体系结构 与外设通信通常称为输入输出&#xff0c;一般缩写为I/O。在实现外设IO的时候&#xff0c;内核必须处理三个可能出现的问题&#xff1a; 必须根据具体的设备类型和模型&#xff0c;使用各种方法对硬件寻址。内核必须向用户应用程序和系统工具提供访问各种设备的方法…

【Git多人协作开发】同一分支下的多人协作开发模式

目录 0.前言场景 1.开发者1☞完成准备工作&协作开发 1.1创建dev分支开发 1.2拉取远程dev分支至本地 1.3查看分支情况和分支联系情况 1.4创建本地dev分支且与远程dev分支建立联系 1.5在本地dev分支上开发file.txt 1.6推送push至远程仓库 2.开发者2☞完成准备工作&…

性能测试工具、负载测试工具、缺陷跟踪工具推荐

负载测试工具 - 有助于对站点或应用程序进行性能/负载测试 1&#xff09;WebLOAD WebLOAD 是一款出色的测试工具&#xff0c;提供了许多强大的脚本功能&#xff0c;有助于测试复杂场景。该工具支持从 Selenium 到移动端、从企业应用到网络协议的数百种技术。使用这款工具可以…

Java | Leetcode Java题解之第279题完全平方数

题目&#xff1a; 题解&#xff1a; class Solution {public int numSquares(int n) {if (isPerfectSquare(n)) {return 1;}if (checkAnswer4(n)) {return 4;}for (int i 1; i * i < n; i) {int j n - i * i;if (isPerfectSquare(j)) {return 2;}}return 3;}// 判断是否为…

nVisual综合布线预标签解决方案

1 跳线变更前编制标签编码、打印标签、粘贴标签费时费力&#xff1b; 2 无标签、假标签、标签错误问题造成后期无法查询线缆连接关系&#xff1b; 1 跳线出厂时在跳线两端预粘贴条码标签&#xff0c;为每条跳线设置唯一ID&#xff1b; 2 跳线变更完成后&…

MySQL练手 --- 1251. 平均售价

题目链接&#xff1a;1251. 平均售价 思路&#xff1a; 由题意可知&#xff0c;Prices表和UnitsSold表&#xff0c;表的连接关系为一对一&#xff0c;连接字段&#xff08;匹配字段&#xff09;为product_id 要求&#xff1a;查找每种产品的平均售价。而Prices表含有价格还有…

Vue与ASP.NET Core Web Api设置localhost与本地ip地址皆可访问

Vue的设置 我们创建并启动一个Vue项目&#xff0c;如下所示&#xff1a; 打开cmd&#xff0c;输入ipconfig查询本地ip地址&#xff1a; 想通过本地ip地址访问&#xff0c;把localhost改成本地ip地址&#xff0c;发现打不开&#xff1a; 这是因为Vue项目默认只有localhost&…

二级医院LIS系统源码,医学检验系统,支持DB2,Oracle,MS SQLServer等主流数据库

系统概述&#xff1a; LIS系统即实验室信息管理系统。LIS系统能实现临床检验信息化&#xff0c;检验科信息管理自动化。其主要功能是将检验科的实验仪器传出的检验数据经数据分析后&#xff0c;自动生成打印报告&#xff0c;通过网络存储在数据库中&#xff0c;使医生能够通过医…

Stage模型应用程序包结构

目录 官网地址 官网结构图 开发态包结构 工程目录结构 配置文件 module.json5配置文件 app.json5配置文件 官网地址 官网地址 包结构 官网结构图 开发态包结构 在DevEco Studio上创建一个项目工程&#xff0c;并尝试创建多个不同类型的Module&#xff08;类似一个一个的页…

基于区块链技术的高校教育资源共享的研究

&#xff08;一&#xff09;项目背景 时代变迁下的高教管理革新需求 当前&#xff0c;我国高等教育体系深受行政化管理模式影响&#xff0c;其在指引办学方向、资源优化配置及院校稳定上功不可没。然而&#xff0c;随着社会主义市场经济体系的深化发展&#xff0c;该模式逐渐显…

opencv - py_calib3d - py_calibration 相机校准

文章目录 Camera Calibration 相机校准目标基础知识代码设置校准去失真1. 使用 **cv.undistort()**2. 使用 **remapping** 重新投影误差 Camera Calibration 相机校准 目标 在本节中&#xff0c;我们将学习 相机造成的失真类型如何找到相机的内在和外在属性如何根据这些属性…

代码随想录——一和零(Leetcode474)

题目链接 0-1背包 class Solution {public int findMaxForm(String[] strs, int m, int n) {// 本题m&#xff0c;n为背包两个维度// dp[i][j]:最多右i个0和j个1的strs的最大子集大小int[][] dp new int[m 1][n 1];// 遍历strs中字符串for(String str : strs){int num0 …

通信原理-思科实验三:无线局域网实验

实验三 无线局域网实验 一&#xff1a;无线局域网基础服务集 实验步骤&#xff1a; 进入物理工作区&#xff0c;导航选择 城市家园; 选择设备 AP0&#xff0c;并分别选择Laptop0、Laptop1放在APO范围外区域 修改笔记本的网卡&#xff0c;从以太网卡切换到无线网卡WPC300N 切…

若依 ruoyi poi Excel合并行的导入

本文仅针对文字相关的合并做了处理 &#xff0c;图片合并及保存需要另做处理&#xff01;&#xff01; 目标&#xff1a;Excel合并行内容的导入 结果&#xff1a; 1. ExcelUtil.java 类&#xff0c;新增方法&#xff1a;判断是否是合并行 /*** 新增 合并行相关代码&#xff1a;…

文件解析的终极工具:Apache Tika

文件解析的终极工具&#xff1a;Apache Tika Apache Tika 简介 Apache Tika 是一个开源的、跨平台的库&#xff0c;用于检测、提取和解析各种类型文件的元数据。 它支持多种文件格式&#xff0c;包括文档、图片、音频和视频。 Tika是一个底层库&#xff0c;经常用于搜索引擎…

Windows下ORACLE数据泵expdp和impdp使用

Windows下ORACLE数据泵expdp和impdp使用 一、基础环境 操作系统&#xff1a;Windows server 2008&#xff1b; 数据库版本&#xff1a;Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 数据库工具&#xff1a;PL/SQL 12.0.7 实验内容&…

springboot配置文件如何读取pom.xml的值

比如想读取profile.active的值&#xff0c;默认属性为pro 在maven中加入以下插件&#xff1a; <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.2.0</version>&l…

FastGPT 源码调试配置

目录 一、添加 launch.json 文件 二、调试 本文简单介绍如何通过 vscode 对 FastGPT 进行调试。 这里假设已经安装 vsocde 和 FastGPT本地部署。 一、添加 launch.json 文件 vscode 打开 FastGPT 项目,点击 调试 -> 显示所有自动调试配置 -> 添加配置 -> Node.j…

AI视频生成器,堪称自媒体人的神器

Vozo Rewrite & Redub 是一款创新的视频编辑工具&#xff0c;可以通过简单的提示重写视频脚本、然后这个工具会自动给视频重新配音、翻译语音并口型同步&#xff0c;然后生成新的视频。 无论是将经典视频转变为病毒视频宣传片&#xff0c;还是将普通视频变成喜剧&#xff…