Javascript入门:第三个知识点:javascript里的数据类型、运算符
数字类型
123 //整数
123.1 //浮点数
1.123e3 //科学计数法
-10 //负数
NaN //not a number
Infinity //无限大
以上的类型在javascript里都是数字类型
字符串类型
在开始之前,我需要先说明白两个知识点:
-
console.log()是啥?
-
let 与 var 的区别是啥?
console.log()是控制台输出语句
举个例子:
console.log("你好,what");
我们打开浏览器-->鼠标右键+检查窗口 --> console面板(控制台)

let与var,在刚入门时,暂且认为let声明的是局部变量,var声明的是全局变量吧
然后让我们开始讨论数据类型:
-
单行的字符串常用单引号或者双引号包裹
-
多行字符串常用飘点来包裹
例子:
<script>var oneLine = '我是单行字符串符号';var oneLine2 = "我也是单行字符串符号";var manyLine3 = `我是多行字符串符号`;
</script>
3.转义字符
\'
\n
\t
\u4e2d \u#### Unicode字符
\x41 Ascll字符
转义字符除了这些还有许多,我在这里知识举了几个例子。
4.模拟字符串
let m = "what";let s = `你好,${m}`;//模拟字符串省略了+号,跟c语言里对变量的使用相似console.log(s);
5.字符串长度
let str = 'helloworld';
console.log(str.length);//调用内置string类的方法
6.字符串不可变性
当我们定义了一个字符串,那么他的内容就是不可变的了
var str = "helloworld";
console.log(str[1]);
此时浏览器会返回e
我们试着将字符串内容改变:
str[2] = "i";
console.log(str);
此时浏览器仍旧返回e
由此我们可以知道字符串自从定义以后他的内容就不会在后续中改变了
7.字符串里的方法
-
toUpperCase() //将字符串大写
-
toLowerCase() //将字符串小写
-
substring() //截取字符串
我们这里来说说截取字符串:
var str = "helloworld";
console.log(str.substring(1,3));//截取[1,3)这个范围的字符
console.log(str.substring(1)); //截取下标1之后的字符
布尔类型
true 或者 false
逻辑运算符
&& 两个都为真结果为真
|| 一个为真则结果为真
! 真变假,假变真
比较运算符
= 赋值
== 等于(值一样则判断为true)
=== 绝对等于(类型与值都一样则判断为true)
判断时一般不用==,因为他有缺陷
另外,还有两种特殊的问题需要注意:
-
NaN === NaN问题
-
因为NaN与包括自己在内的所有的数值都不相等,所以我们需要通过isNaN(NaN)来判断一个数是否是NaN
-
-
浮点数问题
-
((1/3) === (1-(2/3))会判断为false
-
Math.abs(1/3-(1-2/3))<0.0000001会判断为true
-
我们通过Math.abs()来判断浮点数问题
此外还要说的一点是null、undefined
-
null 表示为 空
-
undefined 表示为未定义
数组
在javascript中如何定义数组?
var arr = [1,'why me?',true,null] //在javascript里定义一个数组
我们可以看到在javascript数组中,各个元素类型可以不相同
当数组下标越界则会返回:undefined
接着我们来说说数组的一些方法:
length()方法:
arr.length; //获取数组长度
我们可以通过给它赋值来改变数组的长度:
arr.length = 10 ; //将arr数组的长度变为10,如果只放了两个元素,则其他空间为undefined
arr.length = 2; //假设arr数组里原来有10个元素,则保留两个元素,其余元素丢失
indexOf:
arr.indexOf(2); //获取值为2的元素的下标
slice():
arr.slice(1,3) //截取下标1到3的元素
slice()与substring有些相似
push()、pop():
arr.push("1");//将元素"1"压入arr数组末尾
arr.pop(); //将数组末尾的元素弹出
unshift()、shift():
arr.unshift(1);//将1压入到arr数组头部
arr.shift();//将数组arr头部元素弹出
sort():
arr.sort();//将arr里的元素用升序排序
reverse():
arr.reverse();//将数组元素顺序翻转
concat():
arr.concat([1,2,3]);//将[1,2,3]放入arr末尾并将其看成一个新的数组
join():
arr.join("-");//将"-"作为连接符放入arr数组元素之间
假如:arr 是 "1 2"
那么:arr.join("-");便是"1-2"
除了单维数组,javascript中还有多维数组,在这里就不讲多了,学到这里我觉得大家也应该都知道多维数组是咋操作的了。
对象
如何在javascript里定义一个对象?
var 对象名 ={属性名:属性值属性名:属性值
}
var function = {name = '天玄地号';age = 1000;
}
javascript里的对象都是以键值对的方式存在的,我们定义的属性名全为string类型,但属性值则可以是任意类型
如何使用对象的值?
function.name
在javascript里,我们还可以动态修改对象的属性:
-
添加属性:
function.hahaha = "新的属性值";
-
删除属性:
delete function.hahaha
判断一个属性是否存在于对象中:
fuction.hasOwnProperty("age");
另外还有一种方法:
age in function;
但是这种方法搜索的范围是这个类与他的父类,也就是说将父类拥有的属性用来判断也会返回true
var function = {age = 1;name = 'abc';
}//此时function只有两个属性
//我们用父类的属性来测试:
'toString' in function //此时控制台会返回true
所以一般我们在判断属性时一般使用的是hasOwnProperty()方法。
相关文章:
Javascript入门:第三个知识点:javascript里的数据类型、运算符
数字类型 123 //整数 123.1 //浮点数 1.123e3 //科学计数法 -10 //负数 NaN //not a number Infinity //无限大 以上的类型在javascript里都是数字类型 字符串类型 在开始之前,我需要先说明白两个知识点: console.log()是啥? let 与 v…...
最新版国产会声会影2024新功能爆料
会声会影2024是一个视频编辑软件,具备以下功能: 会声会影2024安装包下载如下: https://wm.makeding.com/iclk/?zoneid55677 1. 视频剪辑:可以对视频进行剪辑、裁剪、拼接和分割操作,实现对视频片段的精确控制。 2. 音频编辑&…...
Pandas处理Excel文件的实用指南 - Python开发技巧XI
处理Excel文件是数据分析师日常工作中的常见任务之一。 幸运的是,Python的Pandas库提供了一套强大的工具,使得读取、处理和写入Excel文件变得既清晰又快捷。 在本篇博客中,我们将探讨如何使用Pandas的 read_excel 方法来读取Excel文件&#x…...
泰克示波器(TBS2000系列)触发功能使用讲解——边沿触发
# Trigger区域 触发区域用于对触发功能进行配置。示波器的触发功能用于采集(Acquire)那些在瞬间出现的信号,便于我们分析观察,此时可以当做逻辑分析仪使用。触发区域按钮包括:menu、Level\Force Trig三个。 目录 1.1 …...
C++学习Day01之C++对C语言增强和扩展
目录 一、程序及输出1.1 全局变量检测增强1.2 函数检测增强1.3 类型转换检测增强1.4 struct增强1.5 bool类型扩展1.6 三目运算符增强1.7 const增强1.7.1 全局Const对比1.7.2 局部Const对比1.7.3 Const变量初始化数组1.7.3 Const修饰变量的链接性 二、分析总结 一、程序及输出 …...
【文件上传WAF绕过】<?绕过、.htaccess木马、.php绕过
🍬 博主介绍👨🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏…...
flutter如何实现省市区选择器
前言 当我们需要用户填写地址时,稳妥的做法是让用户通过“滚轮”来滑动选择省份,市,区,此文采用flutter的第三方库来实现这一功能,比调用高德地图api简单一些。 流程 选择库 这里我选择了一个最近更新且支持中国的…...
Python——将Pyaudio的frame音频数据转换成wave格式
要将pyaudio捕获的音频帧(frame)数据转换成wave模块可以直接处理的格式,通常意味着你需要将这些音频帧数据组装成一个完整的音频流,并确保它们以wave模块期望的格式进行存储。但是,如果你的目的是将这些帧数据直接转换…...
Vue 上门取件时间组件
本文使用vue2.0elementui 制作一个上门取件时间组件,类似顺丰,样式如下: 大概功能:点击期望上门时间,下面出现一个弹框可以选择时间: 首先我们定义一些需要的数据: data() {return {isDropdown…...
学习python第一天
1.输出 print("Hello, World!") 2.退出命令提升符 exit() 3.Python 缩进 实例 if 5 > 2:print("Five is greater than two!") 空格数取决于程序员,但至少需要一个。 您必须在同一代码块中使用相同数量的空格,否则 Python 会…...
interface转string输出打印
文章目录 前言一、interface 转json再转string二、使用类型判断 前言 在开发过程中,有时我们使用interface类型接受某些参数接口或返回类型,但输出时,比如记录日志时存在很多不方便情况,输出string发现输出的乱七八糟,…...
如何在PS5上使用金手指修改游戏
环境:windows PS5 问题:PS5 没有GodHen,无法使用json金手指,PKG金手指比较少 解决办法:使用MultiTrainerv从网络注入PS5,修改进程内存 背景:为了护肝,拒绝刷刷刷 解决过程ÿ…...
M1芯片MAC 安装MySQL、Nacos遇到的问题
摘要:由于电脑上是M1芯片,安装软件时遇到一系列问题,记录下踩的坑!!! 安装MySQL MySQl官网下载链接区分ARM和X86架构,终端输入uname -a指令,本机显示为ARM czhczhdeiMac ~ % uname…...
尝试创建若依系统项目(vue3+element-plus+vite) 持续更新...
若依官网:RuoYi 若依官方网站 |后台管理系统|权限管理系统|快速开发框架|企业管理系统|开源框架|微服务框架|前后端分离框架|开源后台系统|RuoYi|RuoYi-Vue|RuoYi-Cloud|RuoYi框架|RuoYi开源|RuoYi视频|若依视频|RuoYi开发文档|若依开发文档|Java开源框架|Java|Spri…...
Pytest测试用例参数化
pytest.mark.parametrize(参数名1,参数名2...参数n, [(参数名1_data1,参数名2_data1...参数名n_data1),(参数名1_data2,参数名2_data2...参数名n_data2)]) 场景: 定义一个登录函数test_login,传入参数为name,password,需要用多个账号去测试登录功能 # …...
【Vue】指令之显示切换,属性绑定
Vue指令【2】 显示切换与属性绑定v-show指令v-if指令v-bind指令 显示切换与属性绑定 v-show指令 作用:根据真假切换元素的显示状态 指令后的内容最终都会解析为布尔值数据改变之后,对应元素的显示状态会同步更新 语法: <div id"…...
Z字型遍历二叉树
编码过程 掏出Deque,先写从左往右遍历 class Solution {public List<List<Integer>> zigzagLevelOrder(TreeNode root) {Deque<TreeNode> deque new ArrayDeque<>();deque.offer(root);while (!deque.isEmpty()) {int n deque.size();f…...
【Go语言成长之路】安装Go
文章目录 安装Go一、下载Go语言安装包二、删除以前安装的Go版本三、添加/usr/local/go/bin到环境变量内四、确认安装成功 安装Go Note: 这里只演示安装Linux版本的Go,若为其它版本,请按照官网的安装教程进行安装即可。 一、下载Go语言安装包 在浏览…...
C语言常见面试题:C语言中如何进行图形界面编程?
在C语言中进行图形界面编程通常需要借助一些图形库。以下是一些常用的C语言图形库及其使用方法: GTK (GIMP Toolkit): GTK 是一个广泛使用的开源图形库,可用于创建跨平台的桌面应用程序。它提供了一套丰富的控件,如按钮、文本框、…...
删除元素(数组)
题目描述 输入一个递增有序的整型数组A有n个元素,删除下标为i的元素,使其仍保持连续有序。注意,有效下标从0开始。 定义如下两个函数分别实现删除元素操作和数组输出操作。 void del(int a[], int n, int i); /*删除数组a中下标为i的元素*…...
XOutput完整指南:如何将旧游戏手柄转换为Xbox控制器
XOutput完整指南:如何将旧游戏手柄转换为Xbox控制器 【免费下载链接】XOutput DirectInput to XInput wrapper 项目地址: https://gitcode.com/gh_mirrors/xo/XOutput 你是否拥有一些老旧的游戏手柄、方向盘或摇杆,却发现它们无法在现代游戏中正常…...
AI Agent 跑完任务怎么通知你?我写了个微信推送服务帐
1、普通的insert into 如果(主键/唯一建)存在,则会报错 新需求:就算冲突也不报错,用其他处理逻辑 回到顶部 2、基本语法(INSERT INTO ... ON CONFLICT (...) DO (UPDATE SET ...)/(NOTHING)) 语…...
文件(内部/外部)存储
Android 文件存储主要分为**内部存储**、**外部存储**(现在叫分区存储)和**其他介质**(如 SD 卡、USB)。理解它们的区别对开发很重要,特别是 Android 10+ 引入的**分区存储**机制。 1. 内部存储 (Internal Storage) 特点:私有、安全、随应用卸载而删除。其他应用和用户…...
每日极客日报 · 2026年04月08日 · 2026-04-08
每日极客日报 2026年04月08日 今日精选 20 条 IT 科技热点,覆盖 AI 大模型、网络安全、开源工具、云原生与工程实践等领域。 🔥 今日头条 Project Glasswing:Anthropic 联合苹果、谷歌、微软,用 AI 守护关键软件安全 Anthropic…...
忍者像素绘卷:天界画坊Anaconda虚拟环境配置与依赖管理
忍者像素绘卷:天界画坊Anaconda虚拟环境配置与依赖管理 1. 为什么需要独立环境 在开始忍者像素绘卷的开发或训练前,创建一个独立的Python环境是至关重要的。想象一下,如果你把各种颜料都混在一个调色盘里,下次使用时颜色就会变得…...
智慧树自动刷课插件:5分钟告别手动刷课的终极指南
智慧树自动刷课插件:5分钟告别手动刷课的终极指南 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台的繁琐刷课流程而烦恼吗?智慧…...
3步颠覆传统:Hyper-V DDA图形工具让设备直通效率提升10倍
3步颠覆传统:Hyper-V DDA图形工具让设备直通效率提升10倍 【免费下载链接】DDA 实现Hyper-V离散设备分配功能的图形界面工具。A GUI Tool For Hyper-Vs Discrete Device Assignment(DDA). 项目地址: https://gitcode.com/gh_mirrors/dd/DDA 问题发现&#x…...
告别荧光干扰!用Python的AirPLS算法搞定拉曼光谱基线矫正(附完整代码)
告别荧光干扰!用Python的AirPLS算法搞定拉曼光谱基线矫正(附完整代码) 拉曼光谱分析中,荧光背景干扰就像阳光下的阴影,总是让研究者头疼不已。想象一下,当你精心准备的样品在激光照射下,那些本…...
PowerPaint-V1图像修复不求人:API集成与自动化工作流搭建
PowerPaint-V1图像修复不求人:API集成与自动化工作流搭建 1. 项目概述与技术优势 PowerPaint-V1是由字节跳动与香港大学联合研发的先进图像修复模型,它通过深度学习技术实现了两大核心功能: 纯净消除:智能识别背景纹理…...
Reloaded-II模组依赖无限下载循环终极解决方案:全流程故障诊断与修复指南
Reloaded-II模组依赖无限下载循环终极解决方案:全流程故障诊断与修复指南 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II 问题定位&…...
