JavaScript——前端基础3

目录

JavaScript简介

优点

可做的事情

运行

第一个JavaScript程序

搭建开发环境

安装的软件

操作

在浏览器中使用JavaScript文件

分离JS

使用node运行JS文件

语法

变量与常量

原生数据类型

模板字符串

字符串的内置方法

数组

对象

对象数组和JSON

if条件语句

三目运算符

switch条件语句

for和while循环


 

JavaScript简介

  1. JavaScript 是一种轻量级的脚本语言。

  2. 脚本语言:不具备开发操作系统的能力,只用来编写控制其他大型应用程序的“脚本”。

  3. JavaScript 是一种嵌入式(embedded)语言。核心语法不多

优点

  • 操控浏览器的能力

  • 广泛的使用领域

  • 易学性

可做的事情

  • Web/移动端App

  • 实时联网App

  • 命令行工具

  • 游戏

运行

  • 浏览器:有JavaScript引擎

  • Node:包含谷歌浏览器、v8引擎的C++程序。使其可以在浏览器外面跑JavaScript程序。意味着可以用JavaScript程序给网页/移动端app做后端

第一个JavaScript程序

  1. 打开浏览器,Fn+F12

  2. 在控制台console中可以编写JavaScript

  3.  
    
    console.log();//打印

搭建开发环境

安装的软件

  • vscode

  • node.js(安装后一定要重启才会生效)

    1. 执行JavaScript代码

    2. 安装第三方库

操作

  • 在vscode中安装插件:live server

  • 右键文件,open with live server

    • 打开电脑的默认浏览器

    • 页面会自动刷新

在浏览器中使用JavaScript文件

  • 在html文件中,将script标签放在body标签的末尾

    • 浏览器解析文件是自上而下的,需要先将内容渲染出来

分离JS

  • 将JS代码从html文件中剥离出去

  • 创建一个js文件,将js语句写入文件中

  • 在html文件中的script标签中引入js文件

     <script src="index.js"></script>

使用node运行JS文件

  • 在win+r的命令中输入node --version,判断是否安装好了

  • ctrl+`:快捷键打开vscode的终端

  • 输入node 文件名.js:会在终端中输入js文件中的语句

    • 像浏览器一样执行出同样的结果

    • node是用来运行JS的运行环境

语法

  • JS文档

    JavaScript 指南 - JavaScript | MDN Web 中文网

变量与常量

  1. 变量

    • var:全局变量(最好不用)

    • let

  2. 常量

    • const

原生数据类型

  1. String

  2. Number

  3. Boolean

  4. null

    • 一个值被定义为空

  5. underfined

    • 不存在被定义

 //String Number Boolean null underfinedconst username="John";const year=2025;const rate=4.5;const isCool=true;const x=null;const y=undefined;let z;console.log(typeof username);//输出数据类型

模板字符串

  1. 连接字符串

     //连接(老方法)console.log("My name is "+username+" and I am "+age);//模板字符串console.log(`My name is ${username} and I am ${age}`);

字符串的内置方法

 const s="Hello World";console.log(s.length);//字符串长度console.log(s.toUpperCase());//全部大写console.log(s.toLowerCase());//全部小写console.log(s.substring(0,5));//分割字符,起始和终止,左闭右开console.log(s.substring(0,5).toUpperCase());//方法结合console.log(s.split());//字符串转换成数组console.log(s.split(''));//最小分割const m='technology, computers,it, code';console.log(m.split(','));//逗号分割

数组

 //数组,两种申明方式const Number=new Array(1,2,3,4,5);const fruits=['apple','pear','banana'];console.log(Number);console.log(fruits[1]);//pearfruits[2]="orange";//const申明的数组可以被改变内部fruits.push("mango");//数组末尾增加元素用pushfruits.unshift('strawberries');//数组头部添加元素strawberriesconsole.log(fruits);fruits.pop(fruits);//删除数组末尾的元素console.log(fruits);console.log(Array.isArray(fruits));//判断是否是数组console.log(fruits.indexOf("orange"));//得到特定元素的索引

对象

 //对象:拥有属性和方法的数据,表示为键值对的组合//申明一个person变量,{}包含对象,键值对申明属性const person={firstName:"John",lastName:"Doe",age:30,hobbies:['music','movies','sports'],address:{street:"50 main st",city:"Boston",state:"MA",},};person.email="john@gmail.com";//增加属性console.log(person);console.log(person.firstName,person.lastName);//访问选中的属性//结构,更高级的操作//用同名的变量将值从person中抽取出来const {firstName,lastName,address:{city},}=person;console.log(city);

对象数组和JSON

  • 网站:freeformatter.com 将对象数组复制粘贴-formatted json-会给我们自动生成json格式的数据

     [{id:1,text:"Take out trash",isCompleted:true,},{id:2,text:"Meeting with boss",isCompleted:true,},{id:3,text:"Dentist appt",isCompleted:false,},]
  • //对象数组
    const tools=[{id:1,text:"Take out trash",isCompleted:true,},{id:2,text:"Meeting with boss",isCompleted:true,},{id:3,text:"Dentist appt",isCompleted:false,},
    ];
    console.log(tools);
    console.log(tools[1].text);
    //Json是一种数据格式,常被用在api和服务器与客户端的数据传输过程中
    //Json和对象数组类似
    //将JS转化为json格式
    const todoJSON=JSON.stringify(tools)
    console.log(todoJSON);

if条件语句

//if条件语句
//===三等号会考虑数据类型(更常用)
//==双等号不会考虑:10 '10'一样
//||或,&&与
const n=10;
const b=4;
if(n===10||b===4){console.log("n is 10 and b is 4");
}else if(n>10){console.log("n is greater than 10");
}else{console.log("n is less than 10");
}
if(n=='10'&&b==4){console.log("n is 10 and b is 4");
}

三目运算符

//三目运算符(前为真 后为假。?:)
const c=10;
const color=x>10?'red':'blue';
console.log(color);

switch条件语句

//switch语句,一种条件语句
switch(color){case 'red':console.log("color is red");break;case 'blue':console.log("color is blue");break;default:console.log("color is not red or blue");
}

for和while循环

//Forfor(let i=0;i<10;i++){console.log(i);console.log(`For Loop Number:${i}`);}console.log("");for(let i=0;i<tools.length;i++){console.log(tools[i].text);}console.log("");//另一种for的写法for(let todo of tools){console.log(todo.text);}console.log("");//whilelet i=0;while(i<10){console.log(`For Loop Number:${i}`);i++;}

 

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

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

相关文章

坐标变换及视图变换和透视变换(相机透视模型)

文章目录 2D transformationScaleReflectionShear&#xff08;切变&#xff09;Rotation around originTranslationReverse变换顺序复杂变换的分解 齐次坐标&#xff08;Homogenous Coordinates&#xff09;3D transformationScale&TranslationRotation Viewing / Camera t…

DBGPT安装部署使用

简介 DB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。 目的是构建大模型领域的基础设施&#xff0c;通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Mul…

【windows driver】 开发环境简明安装教程

一、下载路径 https://learn.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads 二、安装步骤&#xff1a; 1、安装Visual Studio IDE 笔者建议安装最新版本&#xff0c;可以向下兼容。发文截止到目前&#xff0c;VS2022是首选&#xff0c;当前笔者由于项…

回文重新排序

回文串就两种情况&#xff0c;一种是有一个奇数个的字母&#xff0c;另一种是没有的。所以我们需要统计出题目给出的字母是否为奇数个&#xff0c;且奇数个只能有一个&#xff0c;如果超过一个就不能构成回文串了。 #include<iostream> #include<string> #include…

如何在docker上部署java服务

目录结构 首先 Dockerfile FROM bladex/alpine-java:openjdk17_cn_slimMAINTAINER admin@rsz.comENV TZ=Asia/ShanghaiRUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN mkdir -p /xhWORKDIR /xhEXPOSE 8106ADD ./blade-system.…

FinRobot:一个使用大型语言模型进行金融分析的开源AI代理平台

文章目录 前言一、生态系统1. 金融AI代理&#xff08;Financial AI Agents&#xff09;2. 金融大型语言模型&#xff08;Financial LLMs&#xff09;3. LLMOps4. 数据操作&#xff08;DataOps&#xff09;5. 多源LLM基础模型&#xff08;Multi-Source LLM Foundation Models&am…

《SegFace: Face Segmentation of Long-Tail Classes》论文分享(侵删)

author{Kartik Narayan and Vibashan VS and Vishal M. Patel} 原文链接&#xff1a;[2412.08647] SegFace: Face Segmentation of Long-Tail Classes 摘要 人脸解析是指将人脸语义分割为眼睛、鼻子、头发等关键面部区域。它是各种高级应用程序的先决条件&#xff0c;包括人脸…

readline模块详解!!【Node.js】

‌“书到用时方恨少&#xff0c;事非经过不知难。”‌ —— 陆游 目录 ‌readline 是什么&#xff1f;‌基本用法&#xff1a;‌创建 Interface 类&#xff1a;核心流程‌&#xff1a; ‌Interface 类的关键事件&#xff1a;line&#xff1a;close&#xff1a;pause&#xff1a…

基于POI的Excel下拉框自动搜索,包括数据验证的单列删除

目录 目标 例子 1.搜索下拉框页 2.数据源页 3.效果 代码以及注意事项 1.代码 2.注意事项 1.基于Excel的话&#xff0c;相当于加入了一个【数据验证】 2.代码中的一些方法说明 目标 期望在Excel利用代码创建具备自动搜索功能的下拉框 例子 1.搜索下拉框页 2.数据源…

UWB人员定位:精准、高效、安全的智能管理解决方案

在现代企业管理、工业生产、安全监测等领域&#xff0c;UWB&#xff08;超宽带&#xff09;人员定位系统正逐步成为高精度定位技术的首选。相较于传统的GPS、Wi-Fi、蓝牙等定位方式&#xff0c;UWB具备厘米级高精度、低延迟、高安全性、抗干扰强等突出优势&#xff0c;能够实现…

如何在Apple不再支持的MacOS上安装Homebrew

手头有一台2012年产的Macbook Pro&#xff0c;系统版本停留在了10.15.7&#xff08;2020年9月24日发布的&#xff09;。MacOS 11及后续的版本都无法安装到这台老旧的电脑上。想通过pkg安装Homebrew&#xff0c;发现Homebrew releases里最新的pkg安装包不支持MacOS 10.15.7&…

某个设备的RJ45网口接头为何不可连接任何POE设备

某个设备的RJ45网口接头不可连接任何POE设备 1.POE设备是什么&#xff1f; POE设备是指支持通过以太网线传输电力和数据的设备&#xff0c;即“Power over Ethernet”&#xff08;PoE&#xff09;技术的设备。这种技术允许网络设备在传输数据的同时&#xff0c;通过标准的RJ4…

【线性代数的理解】 为什么说线性代数研究的是空间变换?旋转矩阵坐标转换矩阵

注&#xff1a; 在线性代数中 &#xff0c;常常不把点看成是点&#xff0c;而是看成是一个由原点出发的向量。所以&#xff0c;点的坐标相当于是向量的坐标。正方形&#xff08;图中灰色图形&#xff09;可以看成是由一大堆向量组成的图形&#xff0c;对这一堆向量进行A变换&a…

Cursor+pycharm接入Codeuim(免费版),Tab自动补全功能平替

如题&#xff0c;笔者在Cursor中使用pycharm写python程序&#xff0c;试用期到了Tab自动补全功能就不能用了&#xff0c;安装Codeuim插件可以代替这个功能。步骤如下&#xff1a; 1. 在应用商店中搜索扩展Codeuim&#xff0c;下载安装 2. 安装完成后左下角会弹出提示框&#x…

操作系统知识点12

1.在操作系统的结构设计中&#xff0c;采用层次结构的操作系统其最大优点是把整体问题局部化 2.非特权指令是指操作系统和用户均可以使用的指令 3.向处理器发出的中断信号称为中断请求 4.轮转法RR是单纯基于时间片考虑的 5.当进程处于就绪状态时&#xff0c;表示进程已获得…

STM32学习——RTC实时时钟(BKP与RTC外设)

RTC实时时钟 RTC实时时钟 想记录或读取日期和事件&#xff0c;就可以通过操作RTC实现 RTC与BKP和PWR经常同时出现 一般情况下&#xff0c;VBTA是电池供电口&#xff0c;需要接备用电池 在BKP备份寄存器写入两个数据&#xff0c;然后再读出之后显示&#xff0c;BKP的数据&a…

C# Unity 唐老狮 No.2 模拟面试题

本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要: Unity课程 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho 如果你发现了文章内特殊的字体…

软件工程应试复习(考试折磨版)

针对学校软件工程考试&#xff0c;参考教材《软件工程导论&#xff08;第6版&#xff09;》1-8章 学习的艺术&#xff1a;不断地尝试&#xff0c;我一定会找到高效用的方法&#xff0c;让学习变成一门艺术&#xff0c;从应试备考中解救出我的时间同胞们。 好嘞&#xff01;既然…

针对红警之类老游戏适用WIN10和11的补丁cnc-ddraw7.1汉化版

### 经典游戏兼容补丁 cnc-ddraw 7.1 汉化版使用指南 &#xff08;适用于《红色警戒》《命令与征服》等老游戏在Win10/Win11系统运行&#xff09; 参考原文&#xff1a;针对红警之类老游戏适用WIN10和11的补丁cnc-ddraw7.1汉化版 #### 一、补丁核心功能 **解决痛点** …

Denoising Diffusion Implicit Models (DDIM)

因为扩散模型的正向过程可以实现跳步&#xff0c;其马尔科夫性并不重要&#xff0c;因此DDIM尝试在反向过程中也舍弃马尔科夫性的约束。在引入一个可控参数 σ t \sigma_t σt​后&#xff0c;反向过程的迭代被整理为预测 x 0 x_0 x0​后重新进行正向扩散的过程&#xff0c;扩散…