2022年8月18日:面向初学者的 web 开发--JavaScript 变量和数据类型

Github 2024-08-18 php开源项目日报 Top10 根据Github Trendings的统计,今日(2024-08-18统计)共有10个项目上榜。 阅读详情

了解变量以及填充变量的数据类型。

介绍

编程语言涵盖了很多概念。 无论是小型的命令行应用程序,还是大型的业务系统,都可以使用这些概念进行创建。 在创建应用程序之前,需要先了解一种语言的基础知识。

一个重要的基本概念是变量。 

值有各种类型。

变量概述

为了正确了解 JavaScript 这种在 Web 上提供交互功能的语言,首先需要了解语言的数据类型和变量,以及如何创建它们。

使用变量记住值

使用 JavaScript 编写代码时,了解如何正确使用变量和数据类型是至关重要的。 变量存储的值可以在整个代码中使用和和更改,数据类型有助于描述这些变量中存储的数据类型。

变量

使用以下语法创建和声明变量:[keyword] [name]。

var aVariable;

关键字 var 指示需要声明变量,并且 aVariable 是变量的名称。

用于处理变量的关键字

关键字 let 是在 JavaScript 标准 ECMAScript 6 (ES6) 中引入的。 使用 let 可为变量提供块范围。 建议使用 let(而不是 var)以便更好地管理应用程序中的范围。

JavaScript 使用不同类型的范围(如全局范围和函数范围)来确定哪些变量在代码的哪些部分中可用。 例如,全局变量在函数内可用,因为它属于全局范围或“外部”范围。 使用 var 关键字指定的变量的范围限定在函数体内(其值可见),并且 let 变量的范围限定为大括号内的封闭块。

若要使用 let 声明变量,请使用以下语法:

let myVariable;

myVariable 现已通过 let 关键字声明。

赋值

若要将值存储在变量中,请使用赋值运算符 (=),后跟预期值:

myVariable = 123;

显式初始化

初始化不同于赋值,因为它既声明值又赋值。下面是初始化的示例:

let myVariable = 123;

更改变量

以下代码演示如何使用赋值运算符 (=),以及如何在运算符右侧赋值:

myVariable = 321;

常量

常量的声明和初始化遵循与变量相同的概念,只不过它使用 const 关键字:

const MY_VARIABLE = 123;

常量类似于变量,但有两种例外情况:

  • 它们必须具有值。 常量必须经过初始化,否则你在运行代码时将发生错误。
  • 无法更改引用。 如果常量的引用在初始化后发生更改,你在运行代码时将发生错误。

数据类型

变量可以存储许多不同类型的值,比如数字和文本。 这些值称为“数据类型”。

数据类型是软件开发的重要组成部分,因为开发人员可以使用它们来决定如何编写代码,以及如何运行软件。 某些数据类型具有独特的功能,可帮助转换或提取值中的更多信息。

数据类型也称为“JavaScript 数据基元”,因为它们是语言提供的最低级别数据类型。 有六种基元数据类型:string、number、bigint、boolean、undefined 和 symbol。

数字

变量可以存储所有类型的数字,包括小数或负数。 数字还可以与算术运算符一起使用。

下面是在执行算术函数时可以使用的一些运算符类型:

符号说明示例
+加法:计算两个数字的和。1 + 2 //expected answer is 3
-减法:计算两个数字的差。1 - 2 //expected answer is -1
*乘法:计算两个数字的乘积。1 * 2 //expected answer is 2
/除法:计算两个数字的商。1 / 2 //expected answer is 0.5
%余数:计算两个数字的除法计算中的余数。1 % 2 //expected answer is 1

字符串

字符串是位于单引号或双引号之间的字符集。

字符串具有文本属性,需要不时地设置格式。

若要将两个或更多个字符串连接在一起,或将它们联接在一起,请使用 + 运算符:

let myString1 = "Hello";
let myString2 = "World";

myString1 + myString2 + "!"; //HelloWorld!
myString1 + " " + myString2 + "!"; //Hello World!
myString1 + ", " + myString2 + "!"; //Hello, World!

模板文本是设置字符串格式的另一种方法,只不过使用的是反撇号(而不是引号)。 非纯文本的任何内容都必须放置在占位符 ${ } 中,其中包括可能是字符串的任何变量。 下面是一个示例:

let myString1 = "Hello";
let myString2 = "World";

`${myString1} ${myString2}!` //Hello World!
`${myString1}, ${myString2}!` //Hello, World!

你可以用这两种方法实现格式设置目标,但模板文本将采用任何空格和换行符。

布尔型

布尔值只能是两个值:true 或 false。 

练习 - 数据类型

完整代码应如下所示:

const STARTING_POKER_CHIPS = 100; // points
const PLAYERS = 3;
const NO_OF_STARTER_CARDS = 2;
let gameHasEnded = false;

let playerOneName = "Chloe";
let playerTwoName = "Jasmine";
let playerThreeName = "Jen";

console.log(`Welcome to Texas Hold'em. The championship title will be awarded to one of these three players: ${playerOneName}, ${playerTwoName}, and ${playerThreeName}. Each player has ${STARTING_POKER_CHIPS} in their pot. We have an exciting game ahead of us. May the best player win!`);

let playerOnePoints = STARTING_POKER_CHIPS;
let playerTwoPoints = STARTING_POKER_CHIPS;
let playerThreePoints = STARTING_POKER_CHIPS;

playerOnePoints -= 50;
playerTwoPoints -=25;
playerThreePoints +=75; 

gameHasEnded = ((playerOnePoints + playerTwoPoints) == 0) || // three has one
               ((playerTwoPoints + playerThreePoints) == 0) ||  // one has won
               ((playerOnePoints + playerThreePoints) == 0);  // two has won 

console.log("Game has ended: ", gameHasEnded);

若要运行游戏,请在终端中输入以下代码:

node app.js

终端中应会显示以下输出:

Welcome to Texas Hold'em. The championship title will be awarded to one of these three players: Chloe, Jasmine, and Jen. Each player has 100 in their pot. We have an exciting game ahead of us. May the best player win!
Game has ended: false

避坑指南:锐浪报表PictureBox打印图像常见的5大问题及解决方案 本文深入剖析了锐浪报表(Grid++Report)中PictureBox控件打印图像时常见的五大难题,包括图像源加载机制、拉伸失真、动态加载失败、跨平台兼容性及性能优化。文章提供了从原理理解到实战解决方案的完整指南,帮助开发者有效规避图像打印中的常见陷阱,确保报表输出的稳定与高质量。 阅读详情

相关推荐

Mac版Burp Suite专业版破解与汉化完整指南

在Web安全测试领域,Java应用程序的许可证验证机制与本地化实现是常见的技术课题。其原理通常涉及Java Agent技术,通过在JVM启动时动态修改字节码,实现对软件授权状态的校验逻辑进行拦截与重写,从而绕过官方验证。同时,软件界面的国际化(i18n)与本地化(l10n)则依赖于资源文件的替换与加载。从技术价值角度看,深入理解这些机制不仅能满足特定场景下的工具定制需求,更能加深对Java安全机制、软件保护与逆向工程的理解。在实际的工程实践中,安全研究人员与开发者常面临功能受限或语言障碍的挑战,尤其是在渗透

weixin_29327525的博客 1037

Unreal Engine 4 API Analysis - AController

class AController : public AActor , public INavAgentInterface Remarks Controller 是非物理 Actor,可以掌管一个 Pawn 来控制它的行为。 PlayerController 被人类玩家使用以控制 Pawn 。同时 AIController 为其控制的 Pawn 实现了人工智能。 C...

暴怒的小鸡仔的博客 1330

国内免魔法接入Grok API,打造智能QQ机器人实战指南

大型语言模型(LLM)通过API接口为开发者提供了强大的自然语言处理能力,其核心原理是基于海量数据训练的深度神经网络,能够理解和生成类人文本。这一技术价值在于显著降低了AI应用开发门槛,使开发者无需从零训练模型即可快速集成智能对话、内容生成等功能。在即时通讯、智能客服、自动化工具等应用场景中,LLM API能有效提升交互体验与效率。本文聚焦于如何通过稳定的第三方API服务,绕开网络访问限制,将xAI推出的Grok模型接入国内网络环境,并结合NoneBot2框架与go-cqhttp,实现一个功能完整的智能QQ

weixin_30607125的博客 323

3D游戏案例:CubeRun

编译环境:Unity2018 作者:代码骑士 邮箱:1696297834@qq.com 最后修改时间:2022/2/26 一、游戏演示 (文件mp4转gif格式原因,图片显示比较卡顿,非游戏正常帧数) 二、基本流程 1、游戏开始 2、控制移动 3、镜头跟踪 4、碰撞 5、玩法 6、计分 7、界面 8、游戏结束 9、设计关卡 ...

有朋自远方来,不亦乐乎。 2660

LEfSe分析避坑指南:如何解决R语言中的常见错误与优化结果可视化

本文提供了R语言中进行LEfSe(线性判别分析)微生物组差异分析的全流程避坑指南。详细解析了从数据格式准备、参数调优(如显著性水平与LDA阈值)、结果可靠性验证到使用ggplot2进行高级可视化的实战技巧,帮助用户规避常见错误,获得更稳健、美观的分析结果。

weixin_29098391的博客 361

【Agent从入门到实践】40 容错优化:异常处理、重试机制、降级策略

各位小伙伴,咱们的多Agent框架一路优化到现在,决策快、执行效率高、资源用得省,看似啥都行,但只要一遇到网络波动、工具故障、数据异常调用web_search工具时网络超时,整个检索任务直接失败,写作Agent没数据可用向量库连接异常,向量检索直接崩掉,依赖检索结果的Agent全趴窝单个Agent执行出错,整个并行任务流程直接中断,前功尽弃高并发下部分工具调用失败,框架没有备用方案,只能返回任务失败说白了,咱们之前的框架只有正常执行逻辑,没有异常兜底逻辑。

人工智能AI技术 910

Web前端开发笔记25——JS中的变量类型

1.数字中的最大值和最小值Number.MAX_VALUE和Number.MIN_VALUE。

DRLDER的博客 265

数仓建模—数据治理框架选型

全名主要亮点覆盖面最广:从数据治理、架构、质量、安全到元数据、主数据、数据仓库等等,几乎所有数据管理主题都能在DMBOK里找到相应章节。概念权威统一:帮助组织建立通用术语和知识基础,减少“部门之间说法不一致”的沟通成本。适用场景:如果你所在公司(或团队)正准备系统梳理数据管理的方方面面,DMBOK是一份非常全面的指导手册,尤其适合培养新人或为整个组织统一认知。需要注意:DMBOK偏“知识指引”,不直接提供成熟度模型或实施路线图。想要落地,还需要结合其他评估模型或项目管理方法。小案例举例:某。

2401_84052244的博客 4743

2018重庆前端交流大会将于8月18日举行

2018年8月18日,重庆地区第三届大型前端技术交流活动“渝FE2018”将在重庆市渝中区贰厂文创公园7号楼2楼混沌星球1687举办。重庆前端交流会由唐友华和他的前端开发者朋友们于2014年3月发起,经过十余次中小规模的分享交流,形成了西南地区较为活跃且发展迅猛的技术组织(http://yufe.org/)。2015年11月22日,互联网产业园,首届重庆前端交流大会顺利举办,得到了行业组织、嘉宾和...

weixin_33849942的博客 238

Python 爬虫实战:于好大夫在线抓取医生评价数据,选择优质医疗服务

requests:用于发送 HTTP 请求,获取网页内容。或 lxml:用于解析 HTML 页面,提取目标数据。pandas:用于数据清洗和分析。matplotlib和seaborn:用于数据可视化。time:用于控制爬取速度,避免对服务器造成压力。通过本项目,我们实现了以下目标:使用 Python 爬虫抓取好大夫在线的医生评价数据。对数据进行清洗和分析,找出评价中的关键词和趋势。根据分析结果推荐优质医疗服务。

u014481728的博客 3403

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026 (以YOLO26最新目标检测模型为基础,利用FAAFusion傅里叶角度对齐模块改进Neck部分)

2502_91881744的博客 315

8月23日GitHub热榜解析:AI工具与开发者效率项目盘点

开源社区的每日动态往往能反映技术趋势的流向。在GitHub Trending中,项目热度并非取决于Star总量,而是单位时间内的增长速率,这本质上反映的是社区注意力的聚合方向。对于开发者而言,理解这一排序原理,是高效筛选高质量开源项目的前提。结合当前AI技术栈的快速演进,热榜中涌现出大量围绕大模型推理、AI应用开发、文档智能解析等方向的项目,例如面向AMD硬件的GPT-2推理工具、将AI能力嵌入Web应用的CopilotKit,以及PDF结构化抽取工具等。与此同时,命令行笔记、思维导图插件、自然语言测试框架

weixin_33911824的博客 477

【某音电商】protobuf聊天协议逆向

某音电商私信、聊天消息protobuf协议逆向分析与解析

吴秋霖的博客 2314

2022年是否有必要用Deno代替Node选择以及Deno的资源大全

2022年是否有必要用Deno代替Node选择以及Deno的资源大全 我的答案是:没有。以下内容纯属心得和体验,无技术点,记录今天了解的deno和它目前生态等发展 deno官网:https://deno.land/ deno中文翻译网:https://deno-cn.vercel.app/ 什么是Deno? Node作者Ryan Dahl在2018年8月23日发布了第一个版本v0.1.0的deno,为什么Ryan Dahl要革自己的命创造一个新的运行时呢? 模块导入规则太多且不兼容:ES模块、Co

qq_45593068的博客 3780

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

一文读懂前端技术演进:盘点Web前端20年的技术变迁史

本文原文由作者“司徒正美”发布于公众号“前端你别闹”,即时通讯网收录时有改动,感谢原作者的分享。 1、引言 1990 年,第一个Web浏览器的诞生;1991 年,WWW诞生,这标志着前端技术的开始。 在这将近20年的前端发展史中,我们经历了从最早的纯静态页面,到JavaScript跨时代的诞生;从PC端到移动端;从依赖后端到前端可自由打包开发;从早期的网景Navigator浏览器到...

hellojackjiang2011的博客 846

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ITeye 2012年8月最后一周重要新闻回顾

关注技术趋势,点评IT热点,ITeye资讯频道,助您把握IT技术的脉搏!每周一我们会为您带来上周重要新闻总结,如果您对ITeye的新闻总结有任何的意见或建议,请留言给我们或邮件联系:webmaster(at)iteye.com。 2012年8月最后一周值得关注的重要新闻如下。 一、Java & 安全 上周,Java中的两个漏洞掀起了轩然大波,攻击者可以利用这两个漏洞来...

web开发 135

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Node.js 2013年大事记

Node.js 2013年大事记 发表于18小时前| 1627次阅读| 来源gergelyke.github.io| 6 条评论| 作者Gergely Nemeth Node.jsweb开发开源项目 摘要:Node.js从2009年诞生至今,成长速度很快,今年更是风生水起。Node.js是一个服务器端的JavaScript解释器,可以帮助开发者快速构建高度扩展的web应用

xiaofang168的专栏 703

雕虫无小技 JavaScript初学者的10个迷你技巧

<br />【51CTO 8月24日外电头条】在之前的编程语言排行榜中,我们曾介绍过转正在即的JavaScript语言,正如文章中阐明的那样,JavaScript不仅是最具活力的脚本语言,还是是最有用的编程语言之一。因为绝大多数的浏览器都和它兼容,你可以在这些浏览器中使用它。JavaScript被接受的相当快,因为它是如此的简单,而且使用范围相当广泛。许多程序员过去常常认为JavaScript是一门“玩具语言”,但是,AJAX进入市场后表现出了完全相反的一面,它让JavaScript展现出了完全不同的能力和

yzuhen的专栏 617

几种 JavaScript 动画库推荐;2017年8月前端开发者超实用干货大合集

记得点击文章末尾的“阅读原文”查看哟~下面先一起看下今天的日报摘要吧~几种 JavaScript 动画库推荐JavaScript 库对设计师和开发人员来说,都是非常有用的工具。它们可以为...

前端开发博客 212

html语言中 加当前时间,javascript中怎么获取当前时间?

在web开发中,通过js获取时间非常的常用。下面本篇文章就来给大家介绍一下使用javascript获取当前时间的方法,希望对大家有所帮助。在javascript中可以使用Date对象中的Date()方法来获取当前时间。Date() 方法可返回当天的日期和时间。Date()示例:输出今天的日期和时间document.write(Date())输出:Tue Aug 20 2019 18:24:16 G...

weixin_39950010的博客 369

【转】2012年度最新免费web开发设计资源荟萃

转自:http://www.qianduan.net/year-2012-free-web-development-and-design-resources-meta.html来源:2012年度最新免费web开发设计资源荟萃http://www.gbin1.com/technology/html/20120911-latest-free-web-resources/免费的设计和开发资源大家肯定...

weixin_33918114的博客 142

2012年度最新免费web开发设计资源荟萃

日期:2012-9-11来源:GBin1.com 免费的设计和开发资源大家肯定都喜欢,在这篇文章中我们收集了7月到8月的最新免费开发设计资源,包含PSD UI套件,图标,javascript,jQuery插件等等,绝对是web开发设计人员必备,如果你也喜欢,过来看看吧! 1.Smart Time Ago(jQuery插件) 2.使用javascript开发超棒的动画文字书写效果 ...

weixin_30898109的博客 155

JavaScript 25 岁了!,分享PDF高清版

对于JavaScript的未来,有一件事很清楚:协作是关键。“浏览器大战”已经过去了,用户和开发人员都不想重温由于缺乏互操作性而带来的问题。幸运的是,开源已经盛行,并代表着JavaScript语言和社区的开发和治理的前进之路。代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具Fundebug。原文:中年危机是真实存在的,即便有技术傍身,还是难免对自己的生存能力产生质疑和焦虑,这些年职业发展,一直在寻求消除焦虑的依靠。

2301_79099287的博客 939

iOS Web应用开发:运用HTML5、CSS3与JavaScript

《iOSWeb应用开发:运用HTML5、CSS3与JavaScript》 基本信息 原书名:ProiOSwebdesignanddevelopment:HTML5,CSS3,andjavaScriptwi...

csdn1232的博客 247

华为鸿蒙·NEXT星空版:每月培养10万+开发者,引领产业新变革

在1月18日这个特殊的日子,鸿蒙生态的启航仪式正式拉开帷幕。华为的余承东先生满怀激情地表示:“鸿蒙生态的大趋势已经明朗,就如同满天的星光,终将汇聚成一片璀璨的星河。HarmonyOS NEXT的鸿蒙星河版现已面向开发者开放申请。这一版本将为开发者带来原生精致、原生易用、原生流畅、原生安全、原生智能和原生互联等六大极致的原生体验。经过十年的精心磨砺,华为的鸿蒙操作系统已经经历了多次蝶变,如今已蜕变为“纯血鸿蒙”。

huahaiyi的博客 1515
上一篇: dotnet命令(不掌握)
下一篇: ASP.NET文件的扩展名和.NET Framework
DXB2021
博客等级 码龄5年 307粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值