前端学习笔记 | JS基础

news/发布时间2024/5/14 19:40:55

一、输入和输出语句和字面量

1、输入和输出语句

输入:

  • prompt()

输出:

  • alert()
  • document.write()
  • console.log()

2、字面量

  • 数字字面量
  • 字符串字面量

二、基本数字类型

1、数字类型(number)

2、字符串类型(string)

(1)字符串相加,用+

(12)模板字符串

外面用``(Esc下面的键),里面${变量}

   let uname = prompt('请输入姓名:')let age = prompt('输入年龄')document.write(`大家好,我叫${uname},今年${age}岁了`)

3、布尔类型(boolean)

false,true

4、未定义类型(undefined)

声明一个变量但是没有赋值,就是undefined(应用场景:形参)

5、空类型(null)

赋值了,但是内容为空

6、NAN=NOT A NUMBER 错误类型

7、检测数据类型

typeof 变量

三、类型转换

js是弱数据类型,所以需要将数据转换成需要的数据类型

1、隐式转换

(1)+两边只要有一个字符串,另外一个也是字符串

(2)除了+的运算符,比如- * /都会把数据转换成数字类型

(3)+号作为正好解析可以转换成数字类型

2、显式转换

(1)Number(严格区分大小写)

(2)parseInt

(3)parseFloat

四、运算符

1、赋值运算符

(1)自增运算符

前置自增/自减:先自加再使用(++在前,先加)

后置自增/自减:先使用再自加(++在后,后加)

独立使用无区别——大多数都独立使用,采用后置

应用场景:计数

2、比较运算符

3、逻辑运算符

用于解决多重条件判断

&&:一假全假

||:一真都真

!:取反

优先级:!(非)> &&(与)> ||(或)

五、分支语句

表达式: 可以被求值的代码

语句:不一定有值

1、if分支

(1)if单分支语句

(2)if双分支语句

if,else

(3)if多分支语句

if,else if ,...,else if,else

2、三元运算符

比if双分支简单,一般用来取值

条件?满足条件执行的代码:不满足条件执行的代码

3、switch分支

分支少用if多分支,分支多用switch(效率更高)

switch(){case 值1:代码1breakcase 值2:代码2breakdefault 值3:代码3break
}

六、断点调试

作用:更快找到bug

方法:浏览器f12打开调试界面-source-设置断点

 七、循环语句

1、while循环

(1)基本语法

while(循环条件){//循环体
}

(2)循环三要素

a、变量起始值

b、终止条件

c、变量变化量

2、for循环

(1)基本语法

for(变量起始值;终止条件;变量变化量){//循环体
}

八、数组

数组是一个数据类型 ,可以把多个数据存储到单个变量中。

1、数组求和

2、求数组最大值和最小值

3、操作数组

(1)查:arr[i]

(2)增:arr.push()-加到数组末尾 | arr.unshift()-加到数组开头

(3)改:直接给arr[i]赋值

(4)删:arr.pop()-删末尾的并返回值 | arr.splice(起始位置,删除几个元素)

4、冒泡排序

(1)需要进行i=arr.length-1次排序

(2)每次排序需要进行j=arr.length-i-1次交换

 九、函数

代码块,以实现代码复用。

1、函数调用

2、函数传参

function 函数名(参数列表){函数体
}

3、函数返回值

4、JS函数规则

(1)重名函数会被后面的覆盖

(2)实参多于形参,多的实参会被忽略

十、作用域

1、2种作用域

全局作用域,局部作用域 

2、2种变量

全局变量,局部变量

3、变量访问原则-就近原则

在能够访问到 的情况下先局部,局部没有在找全局

4、匿名函数

(1)函数表达式

(2)立即执行函数-防止变量污染

//方法1
(function(形参){函数体})(实参)
//方法2
(function(形参){函数体}(实参))

十一、逻辑中断

 1、逻辑与(左边为false就短路)

一假则假,遇到false后面表达式不执行,逻辑中断

let age =18
console.log(false && age++)
console.log(age) //输出age=18

都是真,返回最后一个真值

2、逻辑或(左边为true就短路)

十二、对象

对象是一种数据类型(object)-无序的数据集合

1、对象组成

(1)属性

(2)方法

let 对象名= {属性名:属性值,方法名:函数
}

2、对象使用-查

方法1:obj.name

方法2:obj['goods-name'],一定要加' '(需要记住)

3、遍历对象

for in

for (let k in obj){console.log(obj[k])
}

获得对象属性是k,获得对象属性值是obj[k]

4、内置对象

(1)Math

Math.PI

Math.random 随机生成数

Math.ceil 向上取整

Math.floor 向下取整

Math.round 四舍五入

Math.max 取最大值

Math.min 取最小值

Math.pow 幂方法

Math.sqrt 平方根

5、简单和引用数据类型

简单数据类型传的是值,复杂数据类型传的是地址。

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

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

相关文章

IO进程线程day4作业

1、使用多进程完成两个文件的拷贝&#xff0c;父进程拷贝前一半&#xff0c;子进程拷贝后一半&#xff0c;父进程回收子进程的资源 代码&#xff1a; #include<myhead.h> int main(int argc, const char *argv[]) {//定义两个文件指针FILE *fp1NULL;FILE *fp2NULL;//创…

MFC实现遍历系统进程

今天我们来枚举系统中的进程和结束系统中进程。 认识几个API 1&#xff09;CreateToolhelp32Snapshot 用于创建系统快照 HANDLE WINAPI CreateToolhelp32Snapshot( __in DWORD dwFlags, //指定快照中包含的系统内容__in DWORD th32P…

Code Composer Studio (CCS) - 全局搜索功能

Code Composer Studio [CCS] - 全局搜索功能 1. Ctrl H&#xff0c;全局搜索功能References 1. Ctrl H&#xff0c;全局搜索功能 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

C++类和对象-C++对象模型和this指针->成员变量和成员函数分开存储、this指针概念、空指针访问成员函数、const修饰成员函数

#include<iostream> using namespace std; //成员变量 和 成员函数 分开储存的 class Person { public: Person() { mA 0; } //非静态成员变量占对象空间 int mA; //静态成员变量不占对象空间 static int mB; //函数也不占对象空间…

Spring最新核心高频面试题(持续更新)

1 什么是Spring框架 Spring框架是一个开源的Java应用程序开发框架&#xff0c;它提供了很多工具和功能&#xff0c;可以帮助开发者更快地构建企业级应用程序。通过使用Spring框架&#xff0c;开发者可以更加轻松地开发Java应用程序&#xff0c;并且可以更加灵活地组织和管理应…

【lesson51】信号之信号处理

文章目录 信号处理可重入函数volatileSIGCHLD信号 信号处理 信号产生之后&#xff0c;信号可能无法被立即处理&#xff0c;一般在合适的时候处理。 1.在合适的时候处理&#xff08;是什么时候&#xff1f;&#xff09; 信号相关的数据字段都是在进程PCB内部。 而进程工作的状态…

使用备份工具xtrabackup完成数据库的备份与恢复

安装备份工具xtrabackup 简介 它是开源免费的支持MySQL 数据库热备份的软件&#xff0c;它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份。它不暂停服务创建Innodb热备份&#xff1b; 为mysql做增量备份&#xff1b;在mysql服务器之间做在线表迁移&#xff1b;使创建replica…

51_蓝桥杯_led流水灯

一 原理图分析 二 三八译码器工作原理 三八译码器&#xff1a;3个输入控制8路互斥的低电平有效输出。 C B A 输出 0 0 0 Y0 0 0 1 Y1 0 1 0 Y2 0 1 1 Y3 1 0 0 Y4 1 0 1 Y5 1 1 0 Y6 1 1 1 Y7 三 锁存器工作原理 锁存器&#xff1a;当使…

单例设计模式

单例设计模式是一种创建型设计模式&#xff0c;其主要目的是确保一个类只有一个实例&#xff0c;并提供全局访问点来访问该实例。这意味着无论在何处创建对象&#xff0c;都将获得相同的实例&#xff0c;确保系统中的唯一性。 结构 单例模式通常包含下面要素&#xff1a; 私…

flink多流操作(connect cogroup union broadcast)

flink多流操作 1 分流操作2 connect连接操作2.1 connect 连接&#xff08;DataStream,DataStream→ConnectedStreams)2.2 coMap&#xff08;ConnectedStreams → DataStream&#xff09;2.3 coFlatMap&#xff08;ConnectedStreams → DataStream&#xff09; 3 union操作3.1 u…

Imgui(2) | macOS 绘制 CPU 占用率曲线

Imgui(2) | macOS 绘制 CPU 占用率曲线 文章目录 Imgui(2) | macOS 绘制 CPU 占用率曲线0. 简介1. 绘制曲线 - 以正弦函数为例1.1 基于 sf::RectangleShape 的渲染 - 不好看&#xff0c;效率低1.2 基于 sf::VertexArray 的绘制 2. 获取和绘制所有 CPU 的占用率2.1 测试程序 - 用…

【机器学习笔记】11 支持向量机

支 持 向 量 机 &#xff08; Support Vector Machine,SVM &#xff09; 支 持 向 量 机 是 一 类 按 监 督 学 习 &#xff08; supervisedlearning&#xff09;方式对数据进行二元分类的广义线性分类器&#xff08;generalized linear classifier&#xff09;&#xff0c;其…

威尔金森功分器基本原理学习笔记

威尔金森功分器基本原理 威尔金森功率分配器的功能是将输入信号等分或不等分的分配到各个输出端口&#xff0c;并保持相同输出相位。环形器虽然有类似功能&#xff0c;但威尔金森功率分配器在应用上具有更宽的带宽。微带形功分器的电路结构如图所示&#xff0c;其中&#xff0…

代码随想录算法训练营第二十四天 | 回溯算法理论基础,77. 组合 [回溯篇]

代码随想录算法训练营第二十四天 回溯算法理论基础什么是回溯法回溯法的理解回溯法模板 LeetCode 77.组合题目描述思路参考代码总结优化版本 回溯算法理论基础 文章讲解&#xff1a;代码随想录#回溯算法理论基础 视频讲解&#xff1a;带你学透回溯算法&#xff08;理论篇&#…

stm32——hal库学习笔记(外部中断)

一、什么是中断&#xff1f;&#xff08;了解&#xff09; 打断CPU执行正常的程序&#xff0c;转而处理紧急程序&#xff0c;然后返回原暂停的程序继续运行&#xff0c;就叫中断 中断的作用和意义 中断的意义&#xff1a;高效处理紧急程序&#xff0c;不会一直占用CPU资源 S…

fastApi笔记01-路径参数

路径参数 使用与 Python 格式化字符串相同的语法来声明路径"参数"或"变量" from fastapi import FastAPIapp FastAPI()app.get("/items/{item_id}") def read_item(item_id):return {"item_id": item_id} http://127.0.0.1:8000/i…

论文阅读:四足机器人对抗运动先验学习稳健和敏捷的行走

论文&#xff1a;Learning Robust and Agile Legged Locomotion Using Adversarial Motion Priors 进一步学习&#xff1a;AMP&#xff0c;baseline方法&#xff0c;TO 摘要&#xff1a; 介绍了一种新颖的系统&#xff0c;通过使用对抗性运动先验 (AMP) 使四足机器人在复杂地…

建造者模式-Builder Pattern

原文地址:https://jaune162.blog/design-pattern/builder-pattern/ 引言 现在一般大型的业务系统中的消息通知的形式都会有多种,比如短信、站内信、钉钉通知、邮箱等形式。虽然信息内容相同,但是展现形式缺不同。如短信使用的是纯文本的形式,钉钉使用的一般是Markdown的形…

Linux:docker的Portainer部署

官网 Portainer: Container Management Software for Kubernetes and Dockerhttps://www.portainer.io/ 1.下载 portainer也是一个docker的镜像直接下载即可 docker pull portainer/portainer 2.运行 直接运行镜像即可直接使用 docker run -d -p 8000:8000 -p 9000:9000 -…

Python爬虫之Ajax数据爬取基本原理

爬虫专栏&#xff1a;http://t.csdnimg.cn/WfCSx 前言 有时候我们在用 requests 抓取页面的时候&#xff0c;得到的结果可能和在浏览器中看到的不一样&#xff1a;在浏览器中可以看到正常显示的页面数据&#xff0c;但是使用 requests 得到的结果并没有。这是因为 requests 获…
推荐文章