CSS以及JavaScript
目录
一.CSS
1.overflow溢出属性
2.定位
二.JavaScript基础
1.JavaScript引入方式
2.JavaScript数据类型
常用方法:
字符串常用方法:
在js里,什么是真,什么是假
数组的常用方法
运算符
(1)算数运算符:+
(2)比较运算符==与===
(3)逻辑运算符
3.流程控制
(1)if判断
(2)switch-case语法
(3)for循环
(4)while循环
(5)三元运算符
4.函数
(1)格式
(2)无参函数
(3)有参函数
(4)关键字arguments
(5)函数的返回值
(6)匿名函数
5.JSON对象
一.CSS
1.overflow溢出属性
| visible | 默认值,内容不会被修剪,会呈现在元素框之外 |
| hidden | 内容会被修剪,并且其余内容是不可见的 |
| scroll | 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容 |
| auto | 如果内容被修剪,则浏览器会显示滚动条以便查看其余内容 |
- overflow(水平和垂直均设置)
- overflow-x(设置水平方向)
- overflow-y(设置垂直方向)
2.定位
静态定位:默认情况下,所有的标签都是静止的,不能够移动(static)
相对定位:相对于自己原来的位置进行移动(relative)
绝对定位:相对于父类标签移动,如果没有父元素,那就按照body移动(absolute)
固定定位:相对于浏览器窗口定位(fixed)
二.JavaScript基础
实际上,一个完整的JavaScript实现是由以下3个不同部分组成的:
- 核心(ECMAScript)
- 文档对象模型(DOM)Document object model (整合js、css、html)
- 浏览器对象模型(BOM)Broswer object model(整合js和浏览器)
1.JavaScript引入方式
- Script标签内写代码
- <script src="yscript.js"></script>
注释:
- // 这是单行注释
- /* */ 这是多行注释
变量:
- JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头
- 声明变量使用 “var 变量名;” 的格式来进行声明
常量:
- const PI = 3.14
2.JavaScript数据类型
JavaScript拥有动态类型
常用方法:
| parseInt("123") | 返回123 |
| parseInt("ABC") | 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字 |
| parseFloat("123.456") | 返回123.456 |
字符串常用方法:
| .length | 返回长度 |
| .trim() | 移除空白 |
| .trimLeft() | 移除左边的空白 |
| .trimRight() | 移除右边的空白 |
| .charAt(n) | 返回第n个字符 |
| .concat(value, ...) | 拼接 |
| .indexOf(substring, start) | 子序列位置 |
| .substring(from, to) | 根据索引获取子序列 |
| .slice(start, end) | 切片 |
| .toLowerCase() | 小写 |
| .toUpperCase() | 大写 |
| .split(delimiter, limit) | 分割 |
在js里,什么是真,什么是假
a=true
b=false
只需要记住什么是假,其余的都是真
""(空字符串)、0、null、undefined、NaN都是false
数组的常用方法
| .length | 数组的大小 |
| .push(ele) | 尾部追加元素 |
| .pop() | 获取尾部的元素 |
| .unshift(ele) | 头部插入元素 |
| .shift() | 头部移除元素 |
| .slice(start, end) | 切片 |
| .reverse() | 反转 |
| .join(seq) | 将数组元素连接成字符串 |
| .concat(val, ...) | 连接数组 |
| .sort() | 排序 |
| .forEach() | 将数组的每个元素传递给回调函数 |
| .splice() | 删除元素,并向数组添加新元素 |
| .map() | 返回一个数组元素调用函数处理后的值的新数组 |
运算符
(1)算数运算符:+
- +在前面
- 先增加后赋值
- +在后面
- 先赋值后增加
var a = 10;
// undefined
var res1 = a++;
// undefined
var res2 = ++a;
// undefined
res1
// 10
res2
// 12
(2)比较运算符==与===
- 当使用“==”比较运算符时,会进行类型转换然后再比较
- 如果操作数的类型不同,则会尝试将他们转换为相同的类型,然后再进行比较
- 而使用“===”严格相等运算符时,不会进行类型转换
- 它要求操作数的值和类型都相同才会返回true
==:弱等于
内部自动转换成相同的数据类型比较了
===:强等于
内部不做类型转换
1 == '1';
true
1 === '1';
false
(3)逻辑运算符
- Python中:and or not
- JavaScript中:&& || !
5 && '5';
'5'
0 || 1;
1
!5 && '5';
'5'
3.流程控制
(1)if判断
// if - else
if (条件){条件成立执行的代码块}else{条件不成立时执行的代码块}
// if - else if - else
if (条件){条件成立执行的代码块}else if(条件){条件成立执行的代码块}else{条件不成立时执行的代码块}
// () 条件 {} 执行的代码块
var age = 10;
if (age>=18){console.log("你好")
}else{console.log("滚蛋")
};
// if - else
if (age >= 18 ){console.log("你好")
}else if(age<10){console.log("萝莉酱")
}else{console.log("滚蛋")
};
(2)switch-case语法
- 提前定义好可能出现的条件和解决方式
- break
- 如果不加break,匹配成功之后会依次执行
- default
- 所有条件都不成立时走的代码
- break
var num = 2;
switch (num) {case 0:console.log("喝酒");break;case 1:console.log("吃饭");break;case 2:console.log("打牌");break;default console.log("走人")
}
(3)for循环
for (起始条件,结束条件,循环条件){条件成立执行的代码}
// 打印 0-9 的数字
for (let i=0;i<10;i++){console.log(i)
}// 打印列表内的每一个值
var ll = [11,22,33,44,55,66,77];
for (let i = 0;i < ll.length; i++){console.log(ll[i])
};
(4)while循环
while (条件){条件成立执行的代码}
var i = 0;
while (i<100){console.log(i)i++;
};
(5)三元运算符
- 在python中
res = 4 if 1 > 2 else 6
- 在JavaScript中
var res = 1 > 2 ? 4 : 6;
// 6var res = 1 > 2 ? 4 : (8 > 5 ? 999 : 888);
// 999
4.函数
- 在Python中定义函数需要用 def
- 在JavaScript中定义函数需要用 function
(1)格式
// 格式
function 函数名(形参,形参,形参,形参...){函数体代码
}
(2)无参函数
// 无参函数
function func1(){console.log("我是无参函数")
}func1()
(3)有参函数
// 有参函数
function func2(a,b){console.log(a,b)
};func2(1,2)
function func2(a,b){console.log(a,b)
};func2(1,2)
// VM3577:2 1 2func2(1,2,3,4,5,6,7)
// VM3577:2 1 2func2(1)
//VM3577:2 1 undefined
- 在js中传多了只拿对应的数据
- 在js中传少了也不会报错
(4)关键字arguments
function func3(a,b,c){console.log(arguments)console.log(a,b,c)
};
function func3(a,b,c){console.log(arguments)console.log(a,b,c)
};func3(1,2,3,4,5,6,7)/*
VM3668:2 Arguments(7) [1, 2, 3, 4, 5, 6, 7, callee: ƒ, Symbol(Symbol.iterator): ƒ]
VM3668:3 1 2 3
*/
- 能够获取到函数接收到的所有参数
用途:
function func4(a,b,c){if (arguments.length > 3){console.log("传多了")}else if (arguments.length < 3){console.log("传少了")}else{console.log(a,b,c)}
};
(5)函数的返回值
使用关键字 return
返回单个值
function index(){return 666
};
- 返回多个值要用数组约束
function index(){return [777,88,99]
};
JavaScript不支持解压赋值
(6)匿名函数
function (){};// 自调用
function (){}();// 变量存储
var b = function (){}
5.JSON对象
json.dumps ------------------->JSON.stringify()
json.loads--------------------->JSON.parse()
var obj1 =1. 先序列化
var res=JSON.stringify(obj1) # '{"name": "Alex", "age": 18};'python:
json.loads(res) # {"name": "Alex", "age": 18};
2. 反序列化
var str1 = '{"name": "Alex", "age": 18}'; # json.dumps
js反序列化:
JSON.parse(str1) # {"name": "Alex", "age": 18}
相关文章:
CSS以及JavaScript
目录 一.CSS 1.overflow溢出属性 2.定位 二.JavaScript基础 1.JavaScript引入方式 2.JavaScript数据类型 常用方法: 字符串常用方法: 在js里,什么是真,什么是假 数组的常用方法 运算符 (1)算数运…...
JVM——类的生命周期(加载阶段,连接阶段,初始化阶段)
目录 1.加载阶段2.连接阶段1.验证2.准备3.解析 3.初始化阶段4.总结 类的生命周期 1.加载阶段 ⚫ 1、加载(Loading)阶段第一步是类加载器根据类的全限定名通过不同的渠道以二进制流的方式获取字节码信息。 程序员可以使用Java代码拓展的不同的渠道。 ⚫ 2、类加载器在加载完类…...
CSS中实现元素居中的几种方法总结
一、使用 text-align: center 居中 使用 text-align: center; 可以在CSS中实现内联元素的水平居中。这个技术利用了CSS的 text-align 属性,通过对元素的文本对齐方式进行调整来实现居中效果。注:只展示主要代码。 <div class"container"&…...
保护听力戴什么耳机比较好?开放式耳机能保护听力吗?
如果想要在保护听力的前提下戴耳机,那么我是推荐戴骨传导耳机的!!! 所谓骨传导即是一种声音传递的方式,跟普通耳机不同的是传统耳机是通过空气将声音通过耳膜以此完成传递,而骨传导耳机的原理是将声音以不同…...
【JVM】垃圾回收机制
【JVM】垃圾回收机制 文章目录 【JVM】垃圾回收机制1. 方法区的回收2. 堆的回收2.1 引用计数法2.2 可达性分析算法 3. 对象引用3.1 强引用3.2 软引用3.3 弱引用3.4 虚引用和终结器引用 4. 垃圾回收算法4.1 标记清除算法4.2 复制算法4.3 标记整理算法4.4 分代垃圾回收算法 5. 垃…...
MySQL数据库入门到精通——运维篇(2)
MySQL数据库入门到精通——运维篇(2) 1. 分库分表1.1 分库分表介绍1.1.1 现在的问题1.1.2 拆分策略1.1.2.1 垂直拆分策略1.1.2.2 水平拆分策略 1.2 Mycat概述1.3 Mycat入门1.4 Mycat配置1.4.1 Schema标签1.4.2 Datanode标签1.4.3 Datahost标签1.4.4 rule…...
投资者如何保障个人利益?行业律师与欧科云链专家给出建议
香港作为全球加速拥抱Web3变革的引领之地,规定自今年6月起在香港经营虚拟资产服务业务需申领牌照。蜂拥而至的Web3创业公司,伺机而动的加密货币交易所,以及跃跃欲试的行业从业者,都让这座金融之都热闹非凡。但近期伴随JPEX诈骗案等…...
【办公软件】C#调用NPOI实现Excel文件的加载、导出功能
文章目录 1. 引言2. 环境准备3. 示例代码4. 结果5. 总结 1. 引言 本文将介绍如何使用C#和NPOI库实现Excel文件的读写操作,并通过加载文件和导出文件的按钮进行封装。NPOI是一个强大的.NET库,可以轻松处理Excel文件。我们将学习如何使用NPOI打开现有的Ex…...
UVA 11990 “Dynamic‘‘ Inversion 区域树 + 树状数组
一、题目大意 我们有 1 2 3 ... n 这些数字组成的一个排列数组 a ,需要从这个排列中取出m个数字,要求计算出出每次取出数字之前,数组中的逆序数(逆序数就是 i < j,但是 ai > aj的数) 二、解题思路 …...
邮件钓鱼分析
三大协议 SPF Sender Policy Framework 的缩写,一种以IP地址认证电子邮件发件人身份的技术。 注:收信人怀疑币是假的,查看这个送信包裹里面记录的发出地是不是央行,如果是黑市有可能是黑钱 DKIM 加密签名和域名关联。 注&am…...
Android 小技巧
1. Android Studio下载地址 Android 开发者 | Android Developers (google.cn) 2.Android Aosp 在线查看地址: AOSPXRef 3.Android 官方文档地址: Android 开源项目 | Android Open Source Project (google.cn)...
Centos MySQL --skip-grant-tables详解
跳过权限验证,导出数据备份 主机系统:Centos7 64位 数据库版本:MySQL5.7.40 使用–skip-grant-tables场景 1、忘记管理员密码 2、修改管理员密码 mysql -uroot -p显示错误内容如下: ERROR 1045 (28000): Access denied for …...
Linux:进程控制的概念和理解
文章目录 进程的创建fork函数写时拷贝的原理fork函数的用法和失败原因 进程终止进程的退出进程异常的问题 进程终止进程退出 进程等待什么是进程等待?为什么要进行进程等待?如何进行进程等待?父进程如何知道子进程的退出信息? wai…...
ubuntu20.04编译安装nginx
目录 一.更新系统软件包列表二.安装编译Nginx所需的依赖三.下载Nginx源代码四.解压源代码文件五.进入解压后的Nginx目录六.配置编译选项七.编译并安装Nginx八.启动Nginx服务九.验证Nginx是否正常运行十.Nginx命令十一.配置软链接 在Ubuntu 20.04上编译安装Nginx,你可…...
操作系统的分页
操作系统的分页功能与内存管理密切相关。为了更好地理解这一点,我们先简要概述分页的基本概念,然后解释其与页面调度和存储效率的关系。 分页的基本概念 分页是操作系统中的一种内存管理策略。物理内存被划分为固定大小的块,称为“页面”或“…...
微服务环境搭建
JDK安装:https://blog.csdn.net/JHYPXS/article/details/134155680 mysql安装:https://blog.csdn.net/JHYPXS/article/details/102566304 nacos安装:https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html...
ffmpeg 截取命令
从00:00:03.500开始截取往后长度到结尾的mp3音频(这个更有用,测试好用) ffmpeg -i d:/c.mp3 -ss 00:00:03.500 d:/output.mp3 将两个音频合并成一个音频(测试好用) ffmpeg -i "concat:d:/c.mp3|d:/output.mp3&…...
TypeScript深度剖析:TypeScript 中枚举类型应用场景?
文章目录 一、是什么二、使用数字枚举字符串枚举异构枚举本质 三、应用场景 一、是什么 枚举是一个被命名的整型常数的集合,用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型 通俗来说,枚举就是一个对象的所有可能取值的集…...
[推荐]SpringBoot,邮件发送附件含Excel文件(含源码)。
在阅读本文前,可以先阅读我的上一篇文章: SpringBoot,使用JavaMailSender发送邮件(含源码)。 ,本文使用的代码案例涉及到的 jar包、application.properties配置与它相同。 先看一下效果。 图一 图二 在下方代码案例中,…...
node学习之包管理器
一、概念介绍 **1.1 包是什么 ** 『包』英文单词是 package ,代表了一组特定功能的源码集合 **1.2 包管理工具 ** 管理『包』的应用软件,可以对「包」进行 下载安装 , 更新 , 删除 , 上传 等操作 借助包管理工具&…...
AI、机器学习、深度学习到底是什么关系?用‘模型’一词说清楚
1. 项目概述:为什么“人工智能”这个词让人越看越迷糊?你有没有过这种感觉?刷到一篇讲“AI赋能”的文章,开头说“大模型正在重塑生产力”,中间列了三个“基于Transformer架构的微调方案”,结尾呼吁“拥抱AG…...
别再只会用HAL_GPIO_WritePin了!深入STM32的BSRR和BRR寄存器,让你的GPIO操作快人一步
突破HAL库限制:STM32 GPIO寄存器级操作实战指南 在嵌入式开发领域,效率往往决定着产品的竞争力。当我们使用STM32 HAL库进行GPIO操作时,HAL_GPIO_WritePin()可能是最常用的函数之一。但您是否知道,在高速PWM生成、精确时序控制或自…...
从ISA到PCIe:为什么老电脑升级显卡要插对槽?聊聊PCI总线的那些事儿
从ISA到PCIe:老电脑升级显卡必须知道的插槽进化史 当你从储物间翻出一台2003年的戴尔Dimension 4600准备升级显卡时,会发现主板上那些长短不一的插槽仿佛在讲述一段被遗忘的技术史诗。黑色PCI插槽旁紧挨着棕色的AGP 8X,而最边缘那个几乎被灰尘…...
Taotoken 的 API Key 分级管理与审计日志功能在安全合规中的应用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken 的 API Key 分级管理与审计日志功能在安全合规中的应用 当企业将大模型能力集成到业务流程中时,除了关注模型…...
CANN-昇腾NPU-推理服务高可用-怎么做到99.99%可用性
99% 可用性意味着一年宕机时间 < 53 分钟。推理服务要做到这个指标,需要解决:NPU 故障、OOM、网络中断、版本回滚失败。这篇讲在昇腾NPU上的具体做法。 可用性计算 99.9% 8.76 小时/年 99.99% 52.6 分钟/年 99.999% 5.26 分钟/年99% 是多数在…...
联发科MT6833与MT6853 5G核心板:规格对比与产品选型实战指南
1. 项目概述:两款5G安卓核心板的定位与价值在当前的移动设备开发领域,尤其是面向中高端市场的智能手机、平板电脑以及各类智能终端,选择一颗性能强劲、功能集成度高且成本可控的核心处理器平台,是决定产品成败的关键。联发科&…...
如何快速解决Windows 11区域模拟问题:完整API钩子技术指南
如何快速解决Windows 11区域模拟问题:完整API钩子技术指南 【免费下载链接】Locale_Remulator System Region and Language Simulator. 项目地址: https://gitcode.com/gh_mirrors/lo/Locale_Remulator Locale Remulator是一款强大的系统区域和语言模拟工具&…...
安卓截屏限制FLAG_SECURE原理与MT管理器绕过实战
1. 截屏限制不是“锁”,而是“提示灯”——先破除一个普遍误解 很多人一看到“App禁止截屏”,第一反应是“这App在防我”,继而联想到银行类App、考试系统、视频平台的“安全策略”,甚至下意识觉得背后有某种“硬隔离”或“内核级防…...
超聚变冲刺创业板:年营收582亿,净利10亿 拟募资80亿,估值超400亿
雷递网 雷建平 5月22日超聚变数字技术股份有限公司(简称:“超聚变”)日前递交招股书,准备在深交所创业板上市。超聚变计划募资80亿。其中,40.8亿用于新一代算力基础设施研发及产业化项目,20.3亿用于超聚变智…...
边缘AI落地实战:模型轻量化、硬件加速与端侧部署全链路解析
1. 项目概述:为什么“把AI带到边缘设备”不是一句口号,而是正在发生的产业迁移 “Bringing AI To Edge Devices”——这个标题乍看像科技发布会的PPT副标题,但在我过去十年跑遍深圳华强北模组厂、杭州海康产线、苏州工业视觉集成商和北京智能…...
