JavaScript入门 - 基本数据类型用法和基础知识

JavaScript入门二(JS基础知识二) 文章目录一、JavaScript的基本语法二、输入和输出语句2.读入数据总结 一、JavaScript的基本语法 1、JavaScript严格区分大小写,在编写代码时一定注意大小写的正确性。 2、JavaScript代码对空格、换行、缩进不敏感,一条语句可以分成多行书写。 3、如果一条语句结束后,换行书写下一条语句,后面的分号可以省略。 4、标识符由字母、数字、下划线和$组成,必须以字母或下划线开头,不能以数字开头。 5、注释方式: 单行注释:以“//”开始,到该行结束或< script >标 阅读详情

本文使用MarkDown与LaTeX\LaTeXLATE​X编写完成.
属于我的自学系列,如果看不懂请随时与我讨论,我会尽快回复您

参考学习视频:https://www.bilibili.com/video/BV1Bh4y1q73A

前置技能

如何调用控制台

用浏览器打开HTML文档,
方法1:鼠标右键点击检查,调出控制台。
方法2:快捷键F12,调出控制台。

控制台打印函数

console.log() 

具体用法:

//直接打印字符串
console.log("Welcome to SuperAyu's blog")
//控制台显示:Welcome to SuperAyu's blog

//打印字符串+变量
let a = 10
console.log("a:", a)
//控制台显示:a:10

变量与常量

变量关键字:let
常量关键字:const
具体用法:

let a = 10
let b = "Ayu"
let c = 3.14
const d = "Hello" 

区别:

let a = 10
console.log(a)
a = 20
console.log(a)
//控制台显示:10 20

const b = 10
console.log(b)
b = 20
console.log(b)
//控制台显示:10 (报错)
//常量一旦赋值,无法改变

数据类型

在实践过程中可以使用typeof函数进行类型的验证,用法如下:

console.log(typeof [变量名称])

string 字符串类型

JavaScript当中不区分字符与字符串,即使是单个字符也被算作字符串。
用法:

let str = "this is a string"

number 数值类型

JavaScript当中不区分整数与浮点数,全部都算作数值类型。
用法:

number a = 123
number b = 4.56

boolean 布尔类型

只有两个值,true 或者 false.
用法:

boolean flag = true
flag = false

function 函数

普通写法
function 函数名称(参数列表){
    函数体
}

示例:

function add(a, b, c){
    return a + b + c
}
匿名函数

相比于普通形式,省去了函数名称,由变量所替代

let 变量名称 = function(参数列表){
    函数体
}

示例:

let sub = function(a, b){
    console.log(a - b)
}
sub(50, 20)
箭头函数

相比于匿名函数,省去了function关键字,多了一个箭头

let 变量名称 = (参数列表) => {
    函数体
}
注意,
如果参数列表只有一个参数,那么小括号也可以省略。
如果参数列表没有参数,那么小括号必须要写。

示例:

let plus = (a, b) =>{
    return a + b
}
plus(10, 5) //15
隐式返回

省去了大括号,不需要写return,但是只能执行一句话的操作。

let 变量名称 = (参数列表) => {函数体}

示例:

let plus2 = (a, b) => a + b;

Array 数组

JavaScript当中数组没有确切的类型,即数组中保存的数据可以任何数据类型。并且数组的长度是不被限制的,不必提前声明,这一点与C++中的vector是相似的。

let 数组名称 = []

具体用法:

//声明数组用中括号
let arr = ["a", 1, "b", 2, "c", 2]
console.log("arr", arr); //"a", 1, "b", 2, "c", 2

//数组后面弹出
arr.pop() // "a", 1, "b", 2, "c"

//数组前面添加
arr.unshift("d"); //"d", "a", 1, "b", 2, "c"

//数组前面弹出
arr.shift() //"a", 1, "b", 2, "c"

//删除一段子数组 splice(site, length)
//第一个参数为起始坐标,从0开始
//第二个参数为持续长度
arr.splice(1, 3)  //"a", "c"

//清空数组
arr.clear() 

//排序
arr.sort() // 默认按照字符字典序排序

//数字排序 - 自定义函数
arr.sort((a,b)=>a-b)

//筛选
let arr2 = [-1, 3, 2, -7, 5]
let select = arr2.filter(temp=>{
    return temp > 0;
}) //3, 2, 5

//for...of循环
for(let i of arr2){
    console.log(i)
} // -1, 3, 2, -7, 5

//forEach循环
select.forEach((value, index)=>{
    console.log(index, ":", value);
})

Set 集合

set只关注键,不关注数量,也不关注顺序

let 集合名称 = new Set()

具体用法:

let fruits = new Set(['apple', 'banana', 'orange']) //直接用array给set赋值

//添加新的元素,若该元素出现过,则不会重复添加
fruits.add("mango") //'apple', 'banana', 'orange', 'mango'

//删除元素
fruits.delete("banana") //'apple', 'orange', 'mango'

//检查是否存在某元素
fruits.has("banana") //false
fruits.has("apple") //true

//获取set大小
fruits.size // 3

//set转换为array
let arr = Array.from(fruits) //通过Array.from()
let arr2 = [...fruits] //通过拓展运算符

//拓展运算符 用于展开可迭代对象,如数组、字符串

//for...of遍历
for(let i of fruits){
    console.log(i)
}

//forEach遍历
fruits.forEach(value => {
    console.log(value) 
})//注意,set不关注顺序,所以没有index

//set清空
fruits.clear()

Map 键值对

一个键对应一个值,一一匹配的

let 键值对名称 = new Map()

具体用法:

let student = new Map([
    ["name", "Ayu"],
    ["grade", 3],
    ["isCoder", true]
])

//添加元素,若该键已存在,则更新值
student.set("Major", "Computer")

//删除元素
student.delete("isCoder")

//是否包含某元素
student.has("grade") // true

//Map大小
student.size

//Map转换为Array
let arr = Array.from(student) //方法1:Array.from()
let arr2 = [...student] //方法2:拓展运算符

//for...of遍历
for(let[key, value] of  student){
    console.log(key, value)
}

//forEach遍历,与for...of顺序不同,为(value, key)
student.forEach((value, key)=>{
    console.log(key, value)
})

//Map清空
student.clear()

Object 对象类型

Javascript当中的object就像C++里面的struct实例化

let 对象名称 = {}

具体用法:

let Dog = {
    name: "snoopy",
    age: 3,
    kind: "Beagle"
}

//添加属性
Dog.weight = 8

//删除属性
delete Dog.age

//对象是否包含某属性
let has = "kind" in Dog

//属性数量
Object.keys(Dog).length //Object.keys()获取对象的属性列表

//Object转换为Array
let arr = Object.entries(Dog)

//for...in遍历
for(let key in Dog){
    console.log(key, Dog[key])
}
//注意,for...of 用于可迭代对象,e.g. Array, Set, Map, String

//forEach遍历
Object.entries(Dog).forEach(([key, value]) =>{
    console.log(key, value)
})

//Object清空
person = {}

class 类

JavaScript如同C++一样,也有类,同样也就需要有构造函数,类中包含了属性和方法。所有成员属性使用的时候都必须要加this.,以区分外部变量和成员属性。只有私有属性前面加了#,其他在类中的属性可直接认为是public. 并且public属性可以不在类中声明,而直接使用,使用的时候前面要加上this.

class 类名{
    constructor(成员属性列表){
        初始化操作
    }
    其他方法
}

具体用法

class Blog{
    #isCoder
    constructor(name, isCoder){
        this.name = name
        this.#isCoder = isCoder
    }
    info1(){
        return "name:${this.name}$"
    }
}

对于private属性,没有办法直接存取,所以还需要单独写get和set函数。

class Blog{
    #isCoder
    constructor(name, isCoder){
        this.name = name
        this.#isCoder = isCoder
    }
    get isCoder(){
        return this.#isCoder
    }
    set isCoder(value){
        this.#isCoder = isCoder
    } 
    info2(){
        return "name:${this.name}$ isCoder:${this.isCoder}$"
    }
}
继承

关键字为extends,和C++概念相同。可以使用super构建长类,拥有的属性大于等于长类。

class 类名 extends 长类名{
    constructor(属性列表){
        super(长类属性) //调用长类构造函数
        子类构造函数体
    }
}

解构

解构赋值,类似于python中的操作。
具体应用如下:

  1. 多个变量同时赋值
let [x, y, z] = [1, 2, 4]
  1. 获取数组最后一个变量
let [,,c]  = [1, 2, 4] //c:4
let [a,,c] = [1, 2, 4] //a:1, c:4
  1. 将数组拆分赋值
let [A, ...B] = [1, 2, 3, 4, 5, 6] //A:1 , B:[2, 3, 4, 5, 6]
let [A, , ...B] = [1, 2, 3, 4, 5, 6] // A:1, B:[3, 4, 5, 6]
  1. 两数交换
let x = 1
let y = 2;
[x, y] = [y, x] 
  1. 对象解构
let stu{
    first_name: Ayu,
    last_name: Super,
    age: 21
}
let {first_name} = stu //Ayu
//注意,这里变量名称需要和属性保持一致,如果要重命名那么写法如下:
let {first_name:Name, last_name, age} = stu

Promise

表示承诺在未来的某个时刻可能会完成并返回结果。
三个状态,分别是:pending待处理,fulfilled已履行,rejected被驳回。
方便进行一个异步状态的记录。

let promise = new Promise((resolve, reject)=>{
    resolve("")//状态由pending转为fulfilled
    //reject("")//状态由pending转为rejected
}).then(result=>{//获取结果
    console.log("result:", result)
}).catch(error=>{ //捕获rejected错误
    console.log("error:", error)
}).finally(()=>{ //写入log日志
    console.log("异步执行结束") 
})

Fetch

我理解的Fetch是捕获某个端口的get/post信息的函数,用法和Promise很像。

Axios

基于Promise的网络请求库,可以发送http请求并接受服务器返回的响应数据。
Axios返回的是一个Promise对象。
与Fetch相比,get省去了then.步骤,post将data数据定义在函数体外,更加简洁。

模块化开发

需要注意的是在html文件当中,使用

export {}

同样在html文档中的标签中需要写

import {} from 'js文档位置'

如果要将js文档所有函数和变量当作一个对象,也可以这样写

export default {}
import obj from ''
或者
export {}
import * as obj from ''

同步与异步

同步

代码按照编写顺序逐行执行,后续的代码必须等待当前正在执行的代码完成之后才能执行。当遇到耗时的操作时,主线程会被阻塞,直到该操作完成。

异步

mise对象。
与Fetch相比,get省去了then.步骤,post将data数据定义在函数体外,更加简洁。

模块化开发

需要注意的是在html文件当中,使用

export {}

同样在html文档中的标签中需要写

import {} from 'js文档位置'

如果要将js文档所有函数和变量当作一个对象,也可以这样写

export default {}
import obj from ''
或者
export {}
import * as obj from ''

同步与异步

同步

代码按照编写顺序逐行执行,后续的代码必须等待当前正在执行的代码完成之后才能执行。当遇到耗时的操作时,主线程会被阻塞,直到该操作完成。

异步

遇到耗时的操作时,主线程不会被阻塞,后续的代码会继续执行。

ABB RobotWare数据包全版本归档与高效获取指南 记得去年有个汽车产线升级项目,客户现场用的是RobotWare 6.05.0166版本,而我的RobotStudio里只有最新的7.x系列。RobotWare数据包本质上就是ABB机器人的"操作系统镜像",不同版本的机器人控制器需要匹配特定版本的RobotWare。有个容易忽略的细节:偶数版本号(如6.04、6.06)通常比奇数版本更稳定,因为ABB的内部发布策略是偶数版用于正式产线,奇数版多用于测试新功能。最终实现了零停机升级,这个经验告诉我们:版本切换不是简单的覆盖安装,而是需要系统性的验证流程。 阅读详情

相关推荐

AI编程实战:用Spec Coding与Codex半小时重构全栈项目

这次我们来看一个能显著提升全栈开发效率的实战方法:利用 AI 编程工具 Codex 和 Spec Coding 工作流,将原本需要数周甚至一个月的全栈项目重构工期,压缩到半小时级别。这不是概念探讨,而是基于现有工具链的、可立即上手的工程实践。 对于前端开发者或全栈工程师而言,面对老旧项目重构、技术栈升级或从零搭建新项目时,最大的痛点往往是重复性、模式化的代码编写工作。手动编写 CRUD 接口、页面组件、状态管理和联调测试,耗时费力且容易出错。而 AI 辅助编程的核心价值,正是在于将开发者从这些“体力活”中解

weixin_33525298的博客 290

Js基本笔记

1.JavaScript概述 1.什么是JS 是一种专门运行于JS解释器/引擎中的解释型脚本语言 2.JS发展史 1.1992年CMM(C–),更名为 ScriptEase 2.1995年LiveScript,更名为 JavaScript 3.1996年JScript 4.1997年网景找到了ECMA(欧洲计算机制造商联合会).网景将JS的核心模块交给了ECMA,从此JS的核心更名为 ECMA S...

1071178244的博客 550

地平线旭日X3派(RDK X3)从开箱到联网:新手避坑指南

本文为地平线旭日X3派(RDK X3)新手提供从开箱到联网的完整避坑指南。详细讲解了硬件识别、系统镜像烧录、串口调试(波特率921600)、有线/无线网络配置以及SSH/VNC远程访问等关键步骤,帮助开发者快速搭建稳定的开发环境,为后续AI应用部署扫清障碍。

weixin_29174385的博客 953

javascript_2(数据类型、函数简单介绍)

JavaScript_2 1.JavaScript中的变量 1.数据类型 2.名称 3.数据值 4.作用域 2.JavaScript中的数据类型 1.javaScript的变量的数据类型,不是在声明/定义变量的时候决定的,javaScript的变量的数据类型是在赋值之后,根据所赋予的具体数据值决定变量的数据类型。 var a = 100; var b; b=”hello”; 2.javaScript具体数据类型 字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对

weixin_45872868的博客 292

FPGA实战:SRIO接口数据流控制与回环测试详解

本文详细解析了FPGA中SRIO接口的数据流控制机制与回环测试实战。通过剖析SRIO IP核的AXI4-Stream接口握手时序(tvalid/tready/tlast),重点阐述了HELLO数据包格式与状态机设计,并提供了完整的Verilog代码示例。文章以回环测试为核心验证手段,指导开发者排查常见问题,为FPGA高速互连通信设计提供实用指南。

weixin_29173777的博客 429

OpenCV快速入门:绘制图形、图像金字塔和感兴趣区域

OpenCV是一个强大的计算机视觉库,广泛应用于图像处理、计算机视觉和机器学习等领域。本文将介绍OpenCV中的一些基础功能,包括如何绘制图形、创建图像金字塔以及如何处理感兴趣区域(ROI)。

吾家有猫名探花的博客 1964

JavaScript与jQuery - 快速入门指南

文章目录一、什么是 JavaScript二、快速入门三、数据类型四、函数五、内部对象六、面向对象编程七、操作 BOM 对象(重点)八、操作 DOM 对象(重点)九、操作表单(验证)十、jQuery 笔记记录自狂神老师的B站教学视频,主要记录了 操作 BOM 之后的笔记(其余有空在扩充,,估计没空) 第三章记录自 FreeCodeCamp,特别棒的学习社区推荐一下~ 一、什么是 JavaScript 概述 JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然

AI 全栈工程师修炼中 1097

在Simulink中实现基于深度强化学习的控制算法仿真建模

通过上述步骤,你可以在Simulink中实现基于深度强化学习的控制算法仿真建模。这种方法适用于许多复杂的控制问题,尤其是当传统控制方法难以找到有效解决方案时。随着经验的积累,你可以进一步探索不同的深度强化学习算法及其变种,以适应更广泛的应用场景。此外,还可以结合其他先进技术(如迁移学习、多智能体协作等),提升模型的表现能力。

amy_mhd的博客 416

JS入门必备基础知识(适合小白)

JS入门必备基础知识(适合小白)一、JS是什么?1、JS简介2、JS的组成部分3、JS的基本特点4、JS的特性5、JS与HTML、CSS的对比二、JS的用法1、JS的引入方法1)head中的 JavaScript 函数2)body中的 JavaScript 函数3)外部的 JavaScript2、JS的基本语法3、JS中的变量1)变量名2)变量值3)全局变量与局部变量4、数据类型1)基本数据类型2)引用数据类型3) JS的数据类型转换4)typeof 操作符5、JS代码在执行时分两个阶段1)预编译2)代码执

a_l_f_的博客 1万+

K8s-K8s部署Zookeeper+Kafka+ELFK+持久化数据

K8s环境下容器化部署`Zookeeper+Kafka+ELFK`日志收集系统

✅ 专注企业级 Linux/DevOps 运维的实战派 ✅ 已输出上百篇可落地方案 ✅ Shell 脚本开箱即用 ✅ K8s/YAML 环境验证 ✅ 故障排查链路完整复现 1917

手把手教你学BSP(11.3)--BSP实例:基于Raspberry Pi 4 Model B的Linux BSP开发实例

通过以上步骤,我们完成了一个基于Raspberry Pi 4 Model B的Linux BSP开发过程,包括硬件初始化、设备驱动编写、Bootloader配置、内核配置和编译,以及最终映像的生成。每个步骤都非常重要,确保每一步都正确无误才能使整个系统正常运行。

MHD0815的博客 1013

【JavaScript用法】JavaScript(JS)的基本语法(JS数据类型,JS变量,JS运算符,JS流程控制语句)

JavaScript(JS)的基本语法 目录 JavaScript(JS)的基本语法 一. 与html结合方式 二. 注释 三. 数据类型: 四. 变量 五. 运算符(和Java有点类似) 六. 流程控制语句(和JAVA类似): 七. JS特殊语法: 一. 与html结合方式 1. 内部JS:定义<script>,标签体内容就是js代码(...

No8g攻城狮的博客 5107

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【JS】JavaScript入门笔记第一弹JS基本语法、变量、数据类型~

JavaScript入门笔记之基本语法、变量、数据类型

森姐姐的博客 1261

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【JS】JavaScript入门笔记第一弹JS基本语法、变量、数据类型~_jsscript

💡💡*浏览器分成两部分:渲染引擎和JS引擎渲染引擎:用来解析HTML与CSS,俗称内核,JS引擎:也称为JS解释器。用来读取网页中的JavaScript代码,对其处理后运行ps:浏览器本身并不会执行JS代码,而是通过内置JavaScript引擎(解释器)来执行JS代码。JS引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScript语言归为脚本语言,会逐行解释执行。💡💡变量:变量是用于存放数据的容器。

2501_90251128的博客 1557

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

JavaScript 变量和基本数据类型

input type=“button” value=“试试啊” οnclick=“alert(‘试试就试试’)”>: JS 中字符串常量可以使用单引号表示,也可以 使用双引号表示.HTML 中推荐使用双引号,JS 中推荐使用单引号所有 html 标签,只要是以 on 开头的,几乎都是 JS 的事件属性指用户交互时发生了某个事件,就会调用该事件绑定的 JS 代码内嵌式写到 script 标签中< script>js 代码;

2401_89224864的博客 1565

【JS学习】JavaScript的基本用法

JavaScript是一种高级、解释型的编程语言,通常用于在网页上实现动态交互和改善用户体验。它是一种脚本语言,可以嵌入到HTML中,并由浏览器解释执行。JavaScript广泛用于前端开发,但也可以用于服务器端开发(Node.js等)。

zx1041561837的博客 1408

JavaScript基础01【简介、js编写位置、基本语法(6种基本数据类型)】

JavaScript基础【js简介、3种输出语句、js编写位置、基本语法、字面量和变量、标识符、6种基本数据类型(1、String 字符串;2、Number 数值;3、Boolean 布尔值;4、Null 空值;5、Undefined 未定义;6、Object 对象)】

upward 5709

JS入门必备基础知识(适合新人学习)

js基础学习

qq_57162921的博客 3866

js基本数据类型和复杂数据类型的区别

js基本数据类型和复杂数据类型的区别为: let b = { age: 10 } let a = b; a.age = 20; console.log(a); //{ age: 20 } //基本数据类型 let b = 10 function change(info) { info=20; } //info=b;基本数据类型,拷贝的是值得副本,二者互不干扰 change...

马优晨 4413

JavaScript基础知识-JS数据类型

JavaScript变量包含两种类型的值:基本类型值和引用类型值.........................................................................................

凭时间赢来的东西,时间肯定会为之作证 12万+

JS基本数据类型

本文将引导你进入JavaScript基本数据类型的世界,从最基础的数字和字符串到更为复杂的布尔值和对象。透过简单易懂的解释,你将深入了解这门语言中数据的本质,为更高级的概念打下坚实基础。

前端全栈大佬 6176

JavaScript系列之JS入门基本语法

JavaScript系列之JS入门/基本语法 01 JavaScript入门 JavaScript是一门基于对象和事件驱动的,并具有安全性能的脚本语言 常见误区:我们通常见名猜意会认为JavaScript与Java有所联系,而事实上,JavaScript除了语法上有点像Java,其他部分基本上没啥关系。 JavaScript发展过程中的关键节点 1995年,网景公司的Brendan Eich只...

DOGIOOH的博客 357

JS 基本数据类型和引用数据类型的区别及浅拷贝和深拷贝

再讲 js 的基本数据类型和引用数据类型之前,我们先说一下栈和堆的概念 1、栈(stack)和堆(heap) 栈(stack): 栈会自动分配内存空间,会自动释放,存放基本类型,简单的数据段,占据固定大小的空间。 堆(heap): 动态分配的内存,大小不定也不会自动释放,存放引用类型,指那些可能由多个值构成的对象,保存在堆内存中,包含引用类型的变量,实际上保存的不是变量本身,而是指向该对象的...

alokka的博客 2970

JavaScript入门、变量声明、基本数据类型、基本数据类型转换(笔记)

文章目录1. 认识javascript2. js三种引入方式3. js输入输出语句4. 变量4.1 什么是变量4.2 变量的使用4.3 变量命名规范5. 基本数据类型5.1 Number5.2 String5.3 Boolean5.4 Undefined和Null6. 基本数据类型检测 typeof7. 基本数据类型转换7.1 转为数字型7.2 转为字符串类型7.3 转为布尔类型8. 复杂数据类型 1. 认识javascript js是脚本语言:不需要编译,运行过程中由js解释器( js引擎 )逐行来进行

weixin_60547084的博客 1133
上一篇: 数据分析与处理技术-题目测试
下一篇: LaTeX-希腊字母和数学符号的表示
Ayu阿予
博客等级 码龄5年 456粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ayu阿予

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值