当前位置: 首页 > news >正文

js笔记(黑马程序员)

js(day2)

一、运算符

1.赋值运算符

运算符作用
+=加法赋值
-=减法赋值
*=乘法复制
/=除法赋值
%=取余赋值

2.一元运算符

符号作用说明
++自增变量自身的值加1,如X++
--自减变量自身的值减1,如X--

3.比较运算符

运算符作用
>左边是否大于右边
<左边是否小于右边
>=左边是否大于或等于右边
<=左边是否小于或等于右边
===左右两边是否类型和值都相等
==左右两边值是否相等
!=左右值不相等
!==左右两边是否不全等

4.逻辑运算符

符号名称
&&逻辑与
||逻辑或
逻辑非

5.运算符优先级

优先级运算符顺序
1小括号()
2一元运算符++  --  !
3算术运算符先*  /  %  后 +  -
4关系运算符>  >=  <  <=
5相等运算符==  !=  ===  !==
6逻辑运算符先&&后||
7赋值运算符=
8逗号运算符

二、表达式与语句

表达式:表达式是可以被求值的代码,JavaScript 引擎会将其计算出一个结果。比如:3 + 4、num++

语句:语句是一段可以执行的代码。比如:prompt() 可以弹出一个输入框,还有 if 语句 for 循环语句等等

1.分支语句

1.if语句

单分支

双分支

多分支

2.三元运算符

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

3.Switch语句

2.循环语句

1.while语句

循环三要素

1.初始值(常用变量)

2.终止条件

3.变量的变化量

2.循环退出

break:中止整个循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用(提高效率)

continue:中止本次循环,一般用于排除或者跳过某一个选项的时候

js(day3)

一、数组

1.数组的基本用法

1.声明

let 数组名 = [数据1,数据2,数据3,.......]

2.取值

数组名 [下标]

3. 一些术语:

元素:数组中保存的每个数据都叫数组元素

下标:数组中数据的编号

长度:数组中数据的个数,通过数组的length属性获得

2.操作数组

1.新增

arr.push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度

arr.unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度

2.删除

arr.pop() 方法从数组中删除最后一个元素,并返回该元素的值

arr.shift() 方法从数组中删除第一个元素,并返回该元素的值

arr.splice(起始位置,删除几个元素) 方法删除指定元素

js(day4)

一、函数

函数(function):是被设计为执行特定任务的代码块

说明:函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势是有利于精简代码方便复用。

比如我们前面使用的 alert() 、 prompt() 和 console.log() 都是一些 js 函数,只不过已经封装好了,我们直接使用的。

1.函数的使用

1.声明

function 函数名(){

         函数体

}

2.调用

function 函数名()

3.函数名命名规范:

和变量命名基本一致

尽量小驼峰式命名法

前缀应该为动词

2.函数传参

语法:

function 函数名(参数列表){

         函数体

}

形参:声明函数时写在函数名右边小括号里的叫形参(形式上的参数)

实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数)

3.函数返回值

语法:

return 数据

注:1.在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用

2.return 后面代码不会再被执行,会立即结束当前函数,所以 return 后面的数据不要换行写

3.return 函数可以没有 return,这种情况函数默认返回值为 undefined

4.匿名函数

匿名函数使用方式:1.函数表达式            2.立即执行函数

1. 函数表达式

 函数表达式将匿名函数赋值给一个变量,并且通过变量名称进行调用 我们将这个称为函数表达式

语法:

2.立即执行函数

立即执行函数避免全局变量之间的污染

多个立即执行函数要用 ; 隔开,要不然会报错语法

语法:

二、逻辑中断

1.逻辑短路

短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行

符号短路条件
&&左边为false就短路
||左边为true就短路

2.转换为Boolean型

1.显示转换:‘’、0、undefined、null、false、NaN 转换为布尔值后都是 false, 其余则为 true

2.隐式转换:有字符串的加法 “” + 1 ,结果是 “1”减法 - (像大多数数学运算一样)只能用于数字,

它会使空字符串 "" 转换为 0null 经过数字转换之后会变为 0undefined 经过数字转换之后会变为

NaN

js(day5)

一、对象

1.对象(object):是 JavaScript 数据类型的一种,之前已经学习了数值类型、字符串类型、布尔类型、undefined。对象数据类型可以被理解成是一种数据集合。它由属性和方法两部分构成。

1.对象的使用

1.声明

let 对象名 = {}

2.对象有属性和方法组成

属性:信息或叫特征(名词)。比如 手机尺寸、颜色、重量等…

方法:功能或叫行为(动词)。比如 手机打电话、发短信、玩游戏…

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

3. 属性
1.属性都是成对出现的,包括属性名和值,它们之间使用英文 : 分隔

2.多个属性之间使用英文 , 分隔

3.属性就是依附在对象上的变量(外面是变量,对象内是属性)

4.属性名可以使用 "" 或 '',一般情况下省略,除非名称遇到特殊符号如空格、中横线等

2.对象语法

1. 属性-查

语法:对象名.属性

2. 属性-改

语法:对象名.属性 = 新值

3. 属性-增

语法:对象名.新属性 = 新值


4. 属性-删

语法:delete 对象名.属性


5.属性-查的另外一种写法

1.对于多词属性或则 - 等属性,点操作就不能用了。

2.我们可以采取:对象['属性']方式, 单引号和双引号都可以

二、内置对象

内置对象:JavaScript内部提供的对象,包含各种属性和方法给开发者调用

1.内置对象-Math:

Math 对象是 JavaScript 提供的一个“数学”对象

Math 对象包含的方法有:

random:生成0-1之间的随机数(包含0不包括1)

ceil:向上取整

floor:向下取整

round:四舍五入

max:找最大数

min:找最小数

pow:幂运算

abs:绝对值

Math.random() 随机数函数, 返回一个0 - 1之间,并且包括0不包括1的随机小数 [0, 1)

2.基本数据类型和引用数据类型

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型。

1.值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型

         string ,number,boolean,undefined,null

2.引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型

          通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等

3.堆栈空间分配区别:

    1.栈(操作系统):由操作系统自动分配释放存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈;简单数据类型存放到栈里面

    2.堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。引用数据类型存放到堆里面

相关文章:

js笔记(黑马程序员)

js&#xff08;day2&#xff09; 一、运算符 1.赋值运算符 运算符作用加法赋值-减法赋值*乘法复制/除法赋值%取余赋值 2.一元运算符 符号作用说明自增变量自身的值加1&#xff0c;如X--自减变量自身的值减1&#xff0c;如X-- 3.比较运算符 运算符作用>左边是否大于右…...

Mac m1,m2,m3芯片使用nvm安装node14报错

使用nvm安装了node 12/16/18都没有问题&#xff0c;到14就报错了。第一次看到这个报错有点懵&#xff0c;查询资料发现是Mac芯片的问题。 Issue上提供了两个方案&#xff1a; 1、为了在arm64的Mac上安装node 14&#xff0c;需要使用Rosseta&#xff0c;可以通过以下命令安装 …...

LeetCode:63. 不同路径 II

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;63. 不同路径 II 给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角&#xff08;即 grid[0][0]…...

安装zsh并美化

0 Zsh 是一种功能强大的 shell&#xff0c;通常用于替代默认的 Bash shell。它为命令行提供了更多的功能&#xff0c;例如自动补全、强大的模式匹配和主题支持等。 Oh My Zsh 是用于管理 Zsh 配置的框架。 powerlevel10k是样式&#xff0c;通过p10k configure脚本可以调节自己…...

读量子霸权18读后总结与感想兼导读

1. 基本信息 量子霸权 【美】加来道雄 著 中信出版集团股份有限公司,2024年4月出版 1.1. 读薄率 书籍总字数281千字&#xff0c;笔记总字数65977字。 读薄率65977281000≈23.48% 1.2. 读厚方向 量子宇宙 从掷骰子到阿尔法狗&#xff1a;趣谈概率 上帝掷骰子吗&#xf…...

统计学中的样本概率论中的样本

不知道当初谁想的把概率论和数理统计合并&#xff0c;作为一门课。这本身是可以合并&#xff0c;完整的一条线&#xff0c;看这里。但是&#xff0c;作为任课老师应该从整体上交代清楚&#xff0c;毕竟是两个学科&#xff0c;不同的学科合并必然会有各种不协调的问题。 举个最…...

HTML 符号详解

HTML 符号详解 引言 HTML(超文本标记语言)符号是HTML文档中用来表示特殊字符的标记。这些符号在日常网页设计和开发中扮演着重要角色,特别是在需要显示版权、商标、货币符号等特殊字符时。本文将详细介绍HTML符号的用法、类型以及如何在HTML文档中插入这些符号。 HTML符号…...

蓝桥杯练习日常|c/c++竞赛常用库函数(下)

书接上回......蓝桥杯算法日常|c\c常用竞赛函数总结备用-CSDN博客 目录 书接上回......https://blog.csdn.net/weixin_47011416/article/details/145290017 1、二分查找 2、lower_bound uper_bound 3、memset&#xff08;&#xff09; 函数原型 参数说明 返回值 常见用…...

Python vLLM 实战应用指南

文章目录 1. vLLM 简介2. 安装 vLLM3. 快速开始3.1 加载模型并生成文本3.2 参数说明 4. 实战应用场景4.1 构建聊天机器人示例对话&#xff1a; 4.2 文本补全输出示例&#xff1a; 4.3 自定义模型服务启动服务调用服务 5. 性能优化5.1 GPU 加速5.2 动态批处理 6. 总结 vLLM 是一…...

.NET MAUI 入门学习指南

引言 在当今移动应用和跨平台开发的热潮中,.NET MAUI(Multi - platform App UI)应运而生,为开发者提供了一种高效、统一的方式来构建跨多个平台(如 iOS、Android、Windows 等)的原生应用。它整合了 Xamarin.Forms 的优点,并在此基础上进行了诸多改进和创新,使得开发者…...

JavaScript系列(49)--游戏引擎实现详解

JavaScript游戏引擎实现详解 &#x1f3ae; 今天&#xff0c;让我们深入探讨JavaScript的游戏引擎实现。游戏引擎是一个复杂的系统&#xff0c;它需要处理渲染、物理、音频、输入等多个方面&#xff0c;让我们一步步实现一个基础但功能完整的游戏引擎。 游戏引擎基础概念 &am…...

AI如何帮助解决生活中的琐碎难题?

引言&#xff1a;AI已经融入我们的日常生活 你有没有遇到过这样的情况——早上匆忙出门却忘了带钥匙&#xff0c;到了公司才想起昨天的会议资料没有打印&#xff0c;或者下班回家还在纠结晚饭吃什么&#xff1f;这些看似微不足道的小事&#xff0c;往往让人疲惫不堪。而如今&a…...

K8s运维管理平台 - KubeSphere 3.x 和4.x 使用分析:功能较强,UI美观

目录标题 Lic使用感受优点&#xff1a;优化点&#xff1a; 实操首页项目 | 应用负载 | 配置 | 定制资源定义存储监控告警集群设置 **KubeSphere 3.x** 和 **4.x**1. **架构变化**&#xff1a;2. **多集群管理**&#xff1a;3. **增强的 DevOps 功能**&#xff1a;4. **监控与日…...

芯片AI深度实战:基础篇之langchain

基于ollama, langchain,可以构建一个自己的知识库&#xff0c;比如这个 Build Your Own RAG App: A Step-by-Step Guide to Setup LLM locally using Ollama, Python, and ChromaDB | HackerNoon 这是因为&#xff1a; 以上范例就实现了这样一个流程&#xff1a; 系列文章&…...

WordPress使用(1)

1. 概述 WordPress是一个开源博客框架&#xff0c;配合不同主题&#xff0c;可以有多种展现方式&#xff0c;博客、企业官网、CMS系统等&#xff0c;都可以很好的实现。 官网&#xff1a;博客工具、发布平台和内容管理系统 – WordPress.org China 简体中文&#xff0c;这里可…...

单机伪分布Hadoop详细配置

目录 1. 引言2. 配置单机Hadoop2.1 下载并解压JDK1.8、Hadoop3.3.62.2 配置环境变量2.3 验证JDK、Hadoop配置 3. 伪分布Hadoop3.1 配置ssh免密码登录3.2 配置伪分布Hadoop3.2.1 修改hadoop-env.sh3.2.2 修改core-site.xml3.2.3 修改hdfs-site.xml3.2.4 修改yarn-site.xml3.2.5 …...

【高内聚】设计模式是如何让软件更好做到高内聚的?

高内聚&#xff08;High Cohesion&#xff09;是指模块内部的元素紧密协作&#xff0c;共同完成一个明确且相对独立的功能。就像高效的小团队&#xff0c;成员们目标一致&#xff0c;相互配合默契。 低耦合&#xff08;Loose Coupling&#xff09;是指模块之间的依赖较少&#…...

10.2 目录(文件夹)操作

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 10.2.1 DirectoryInfo类 DirectoryInfo类可以获得目录信息。 DirectoryInfo常用属性&#xff1a; Name&#xff1a;获取Director…...

LiteFlow Spring boot使用方式

文章目录 概述LiteFlow框架的优势规则调用逻辑规则组件定义组件内数据获取通过 DefaultContext自定义上下文 通过 组件规则定义数据通过预先传入数据 liteflow 使用 概述 在每个公司的系统中&#xff0c;总有一些拥有复杂业务逻辑的系统&#xff0c;这些系统承载着核心业务逻…...

OSCP:Windows 服务提权详解

在Windows操作系统中&#xff0c;服务是一种特殊的后台进程&#xff0c;它们通常以较高的权限&#xff08;如 SYSTEM 或 Administrator&#xff09;运行。攻击者可以通过控制服务的创建、配置或运行过程实现权限提升&#xff08;提权&#xff09;。本文将详细分析Windows服务提…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...