目录
1、字符串类型详解
(1)字符串引号嵌套
(2)字符串转义符
(3)字符串长度
(4)字符串拼接
(5)字符串拼接加强
2、数组类型详解
(1)长度
(2)通过元素获得下标索引
(3)slice() 截取Array的一部分,返回一个新的数组,类似于string的substring
(4)push() pop() 尾部
(5)unshift() shift() 头部
(6)splice() 用于添加或删除数组中的元素
(7)排序sort()
(8)元素反转 reverse()
(9)concat()
(10)连接符join
(11)多维数组
3、对象类型详解
(1)对象赋值
(2)使用一个不存在的对象属性,不会报错!undefined
(3)动态的删减属性
(4)动态的添加,直接给新的属性添加值即可
(5)判断属性值是否在这个对象中 xxx in xxx
(6)判断一个属性是否是这个对象自身拥有的
4、分支和循环详解
(1)if判断
(2)while循环,避免程序死循环
(3)for循环
(4)forEach循环
(5)for…in
(6)for…of
5、Map和Set集合
Map
Set:无序不重复的集合
6、Iterable迭代器
(1)遍历数组
(2)遍历Map
(3)遍历Set
1、字符串类型详解
- 如果是ES5就用var
- 如果是ES6可以用let和var
- 字符串型可以是引号中的任意文本,其语法为 双引号 " "和 单引号
''
var strMsg = "杉木~"; // 使用双引号表示字符串var strMsg2 = "士大夫萨德~"; // 使用单引号表示字符串
常见错误:
// 常见错误
var strMsg3 = 你好; // 报错,没使用引号,会被认为是js代码,但js没有这些语法
因为 HTML 标签里面的属性使用的是双引号,JS 这里我们更推荐使用单引号。
(1)字符串引号嵌套
JS 可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)
var strMsg = '我是"ssm"程序猿'; // 可以用''包含""
var strMsg2 = "我是'ssm'程序猿"; // 也可以用""包含''
常见错误:
// 常见错误
var badQuotes = '你好htht"; // 报错,不能 单双引号搭配
(2)字符串转义符
类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。转义符都是 \
开头的,常用的转义符及其说明如下:
(3)字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的 length
属性可以获取整个字符串的长度。
var strMsg = "你好这个是我的简历~";
alert(strMsg.length); // 显示10
(4)字符串拼接
-
多个字符串之间可以使用
+
进行拼接,其拼接方式为字符串 + 任何类型 = 拼接之后的新字符串
-
拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
-
数值相加 ,字符相连
//1.1 字符串 "相加"
alert("hello" + " " + "world"); // hello world//1.2 数值字符串 "相加"
alert("100" + "100"); // 100100//1.3 数值字符串 + 数值
alert("11" + 12); // 1112
(5)字符串拼接加强
- 我们经常会将字符串和变量来拼接,因为变量可以很方便地修改里面的值
- 变量是不能添加引号的,因为加引号的变量会变成字符串
- 如果变量两侧都有字符串拼接,口诀
“引引加加 ”
,删掉数字,变量写加中间
console.log("山姆" + 18); // 只要有字符就会相连var age = 18;console.log("山姆先生" + age); // 山姆先生18console.log("山姆先生" + age + "岁啦"); // 山姆先生18岁啦
常见错误:
console.log("山姆先生age岁啦");
//千万不可以这样
2、数组类型详解
Array可以包含任意的数据类型
var arr = [1,2,3,4,5,6]; //通过下标取值和赋值
arr[0]
arr[0]=0
(1)长度
arr = [1, 2, 3, 4, 5, 6]
arr.length //6
替换大小
注意:假如给arr.length赋值,数组大小就会变化,如果赋值过小,元素就会丢失
(2)通过元素获得下标索引
arr = [1, 2, 3, 4, 5,6,"1", "2"]
arr.indexOf(1) //0
arr.indexOf("1") //6
字符串“1”和数字1是不同的
(3)slice() 截取Array的一部分,返回一个新的数组,类似于string的substring
arr = [1, 2, 3, 4, 5,6,"1", "2"]
arr.slice(3)
(4)push() pop() 尾部
//push 压入到尾部
//pop 弹出尾部的一个元素
arr = [1, 2, 3, 4, 5,6,"1", "2"]
arr.push("a","b") //[1, 2, 3, 4, 5, 6,"1", "2","a","b"]
arr.pop()
(5)unshift() shift() 头部
//unshift 压入到头部
//shift 弹出头部的一个元素
arr = [1, 2, 3, 4, 5,6,"1"]
arr.unshift('a','b')
arr.shift()
(6)splice() 用于添加或删除数组中的元素
arr = [1, 2, 3, 4, "1", "5"]
arr.splice(4,2) //[1, 2, 3, 4] 从下标4开始删除,删除2个元素
arr.splice(4,0,5,6) // [1, 2, 3, 4, 5, 6] 从下标4开始删除,删除0个元素,并在后面追加5,6两个元素// array.splice(index,howmany,item1,.....,itemX)// index 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。// howmany 可选。规定应该删除多少元素。必须是数字,但可以是 "0"。 如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。// item1, ..., itemX 可选。要添加到数组的新元素
(7)排序sort()
arr = ['b', 'c','a']
arr.sort() //['a', 'b', 'c']
(8)元素反转 reverse()
arr = ['b', 'c','a']
arr.reverse() //['c','b','a']
(9)concat()
并没有修改原数组,只是返回一个新的数组
arr.concat(1,2,3)
(6) ['c', 'b', 'a', 1, 2, 3]0: "c"1: "b"2: "a"3: 14: 25: 3length: 6[[Prototype]]: Array(0)
arr
(3) ['c', 'b', 'a']
(10)连接符join
打印拼接数组,使用特定的字符串连接
arr.join('-')
'c-b-a'
(11)多维数组
arr = [[1,2],[3,4],["5","6"]];arr[1][1]4
数组:存储数据(如何存,如何取,方法都可以自己实现!)
3、对象类型详解
若干个键值对
let 对象名 = {属性名: 属性值,属性名: 属性值,属性名: 属性值
}// 定义了person对象他有三个属性let person = {name: 'John',age: 36,sex: 'male'}
输出效果:
- js中对象,{…}表示一个对象,键值对描述属性xxx:xxx,多个属性之间用逗号分隔,最后一个属性不加逗号
- JavaScript中的所有的键都是字符串,值是任意对象
(1)对象赋值
person.name="shammu"
'shammu'
person.name
'shammu'
(2)使用一个不存在的对象属性,不会报错!undefined
person.hahah
undefined
(3)动态的删减属性
person
{name: 'shammu', age: 36, sex: 'male'}name: "shammu"sex: "male"[[Prototype]]: Object
delete person.age
true
person
{name: 'shammu', sex: 'male'}
(4)动态的添加,直接给新的属性添加值即可
person.haha="haha"
'haha'
person
{name: 'shammu', sex: 'male', haha: 'haha'}
(5)判断属性值是否在这个对象中 xxx in xxx
person = {name: "山姆", age: 18, sex: "男"}
"name" in person //true
'toString' in person // true
'hah' in person //false
(6)判断一个属性是否是这个对象自身拥有的
person.hasOwnProperty('toString')
false
person.hasOwnProperty('name')
true
4、分支和循环详解
(1)if判断
var age = 3;if (age > 3) {// 第一个判断alert("hahahh");} else if (age < 5) {// 第二个判断alert("kuwaaw~");} else {// 否则alert("kuwa~");}
输出效果:
(2)while循环,避免程序死循环
var age = 3;
while (age < 100) {age = age + 1;console.log(age)
}do {age = age + 1;console.log(age)
} while (age < 100)
输出效果:
死循环(不要尝试!!!)
//死循环
while (true){alert(123)
}
输出效果:
(3)for循环
var age = 3;for (let i = 0; i < 100; i++) {console.log(i)}
输出效果:
(4)forEach循环
'use strict';var age1 = [1, 2, 3, 4, 5, 6, 7,];age1.forEach(function (value){console.log(value)})
输出效果:
(5)for…in
'use strict';var age1 = [1, 2, 3, 4, 5, 6, 7,];for (var num in age1) {if (age1.hasOwnProperty(num)) {console.log("存在")console.log(age1[num])}}
输出效果:
(6)for…of
//iteratorvar arr = [3,4,5]for (var x of arr){console.log(x)}
输出效果:
5、Map和Set集合
ES6的新特性
Map
'use strict';let map1 = new Map([['张三',100],['李四',90],['王五',80]]);map1.get('张三'); //通过key获取valuemap1.set('赵六',99); //新增或者修改map1.delete('王五'); //删除map1.clear; //清空
Set:无序不重复的集合
let set1 = new Set([1,2,3,1,1]);set1.add(1); //{1, 2, 3} 添加set1.add(4);//{1, 2, 3, 4}set1.delete(1);//{2, 3, 4} 删除set1.has(5);//false 是否包含某个元素set1.has(2);//true
6、Iterable迭代器
(1)遍历数组
'use strict';//iterator//要通过for of来实现 如果是for in就是不行的 for in是下标var arr = [3,4,5]for (var x of arr){console.log(x)}
输出效果:
(2)遍历Map
var map = new Map([["tom", 100], ["jack", 80], ["wawah", 85]]);for (let x of map) {console.log(x)}
输出效果:
(3)遍历Set
let set = new Set([5, 6, 7]);for (let x of set) {console.log(x)}
输出效果:
查看全文
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dgrt.cn/a/39993.html
如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!
相关文章:
数 据 类 型
目录
1、字符串类型详解
(1)字符串引号嵌套
(2)字符串转义符
(3)字符串长度
(4)字符串拼接
(5)字符串拼接加强
2、数组类型详解
(1&……
(附源码)spring boot网上购物系统 毕业设计 311236
Springboot网上购物系统的开发 摘 要 随着Internet的使用越来越广泛,在传统的商业模式中,对于日常各类商品,人们习惯于到各种商家店铺购买。然而在快节奏的新时代中,人们不一定能为购买各类商品腾出时间,更不会耐心挑……
虚拟机使用NAT模式搭建网络成功ping 通网络
虚拟机使用NAT模式搭建网络成功ping 通网络1.在虚拟机的配合中配置 ip数据2.配置NAT的网络![在这里插入图片描述](https://img-blog.csdnimg.cn/0b8d4df5e5f64df58a1de65b52dc46d0.png)3.配置虚拟的ip配置文件的信息4.重启网络服务5.尝试 ping 链接网络1.在虚拟机的配合中配置 ……
java毕业设计留学生交流互动论坛网站源码+lw文档+mybatis+系统+mysql数据库+调试
java毕业设计留学生交流互动论坛网站源码lw文档mybatis系统mysql数据库调试 java毕业设计留学生交流互动论坛网站源码lw文档mybatis系统mysql数据库调试本源码技术栈:
项目架构:B/S架构
开发语言:Java语言
开发软件:idea eclip……
公众号查题url
公众号查题url
本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全!
1.想要给自己的公众号获得查题接口,只需要两步! 2.题库:
题库:题库后台(点击跳转)
题库……
Qt基于FFmpeg解码本地视频生成H264文件并播放
一、获取并写入H264码流数据的步骤: 二、实现效果:
用eseye_u.exe打开H264文件并播放 本文福利, 免费领取C音视频学习资料包、技术视频,内容包括(音视频开发,面试题,FFmpeg ,webRTC……
Oracle学习的相关知识点(汇总)
学习Oracle数据库相关基本操作(一)
学习Oracle数据库的新建表的基本操作(二)
学习Oracle数据库新建数据库操作(三)
学习Oracle数据库并对数据进行查询,插入等操作(四)……
关于CSDN编程竞赛的一些感受
CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 已经参加了几期CSDN的几次挑战赛,个人感觉对大家平时,锻炼锻炼脑力还是不错的,当然每次的题目都会出自CSDN网站出现过,这也并不是要让大家去不懂脑子的去……
C++ 语法之类和对象基础篇详解
个人主页:欢迎大家光临——>沙漠下的胡杨 各位大帅哥,大漂亮 如果觉得文章对自己有帮助 可以一键三连支持博主 你的每一分关心都是我坚持的动力 ☄: 本期重点:C类和对象 希望大家每天都心情愉悦的学习工作。 目录 ☄࿱……
Android Camera 测试环境搭建:编译Android模拟器
在 Ubuntu 下面我编译 android 12 已经尝试过很多次,都失败了。 都是执行下面这步的时候,编译了几个小时以后报错
make sdk sdk_repo -j12一开始给虚拟机分配了 8GB 的内存条,编译的时候显示RAM最低要16GB。
最后报错
Exception in thread……
反序列化渗透与攻防(五)之shiro反序列化漏洞
Shiro反序列化漏洞
Shiro介绍
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性
Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默……
vue2+vue3
vue2vue3尚硅谷vue2vue2 课程简介【02:24】vue2 Vue简介【17:59】vue2 Vue官网使用指南【14:07】vue2 搭建Vue开发环境【13:54】vue2 Hello小案例【22:25】了解: 不常用常用:id 更常用 简单class差值总结vue 实例vue 模板 : 先 取 ࿰……
【hello Linux】环境变量
目录 1. 环境变量的概念 2. 常见的环境变量 3. 查看环境变量 4. 和环境变量相关的命令 5. 环境变量的组织方式 6. 通过代码获取环境变量 7. 通过系统调用获取环境变量 Linux🌷 在开始今天的内容之前,先来看一幅图片吧! 不知道你们是否和我一……
【Linux基础】常用命令整理
ls命令
-a选项,可以展示隐藏的文件和文件夹-l选项,以列表形式展示内容-h,需要和-l搭配使用,可以展示文件的大小单位ls -lah等同于la -a -l -h
cd命令(change directory)
语法:cd [Linux路径]……
客快物流大数据项目(一百一十二):初识Spring Cloud
文章目录
初识Spring Cloud
一、Spring Cloud简介
二、SpringCloud 基础架构图…
C和C++中的struct有什么区别
区别一: C语言中: Struct是用户自定义数据类型(UDT)。 C语言中: Struct是抽象数据类型(ADT),支持成员函数的定义。
区别二:
C中的struct是没有权限设置的,……
docker的数据卷详解
数据卷 数据卷是宿主机中的一个目录或文件,当容器目录和数据卷目录绑定后,对方修改会立即同步
一个数据卷可以同时被多个容器同时挂载,一个容器也可以被挂载多个数据卷
数据卷作用:容器数据持久化 /外部机器和容器间接通信 /容器……
13、Qt生成dll-QLibrary方式使用
Qt创建dll,使用QLibrary类方式调用dll
一、创建项目
1、新建项目->其他项目->Empty qmake Project->Choose 2、输入项目名,选择项目位置,下一步 3、选择MinGW,下一步 4、完成 5、.pro中添加TEMPLATE subdirsÿ……
基于mapreduce 的 minHash 矩阵压缩
Minhash作用: 对大矩阵进行降维处理,在进行计算俩个用户之间的相似度。
比如: 俩个用户手机下载的APP的相似度,在一个矩阵中会有很多很多的用户要比较没俩个用户之间的相似度是一个很大的计算任务 如果首先对这个矩阵降维处理&am……
关于hashmap使用迭代器的问题
keySet获得的只是key值的集合,valueSet获得的是value集合,entryset获得的是键值对的集合。 package com.test2.test;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;public class mapiterator……
编程日记2023/4/16 14:50:37