JS数据类型
2021-02-09 20:16
标签:重复 避免 不同 nihao substring 方法 number 引号 tags ? js 不区小写和整数, Number ? ‘abc‘,"abc" true , false 这是js的一个缺陷,坚持不要使用 == 比较 须知: null 和 underfined 对象是大括号,数组是中括号 ? 每个属性之间使用逗号隔开,最后一个不需要添加 ? 获取t元素的下标 注意: 加入arr.length赋值,数组大小就会发生改变,如果赋值国小,元素就会丢失 字符串的 "1"和数字 1 是不同的 注意: concat()并没有修改数据,只是会返回一个新数组 打印拼接数组,使用特定的字符串连接 数组: 存储数据 (如何存,如何取, 方法都可以自己实现!) 若干个键值对 js中对象, {}表示一个对象, 键值对描述属性xxx:xxx,多个属性之间使用逗号隔开,最后一个属性不加逗号! ES6的新特性~ Map: Set: 无序不重复的集合 遍历数组 遍历map 遍历set JS数据类型 标签:重复 避免 不同 nihao substring 方法 number 引号 tags 原文地址:https://www.cnblogs.com/wn-888/p/13055585.html1.数据类型
运算符
变量
var =
ES6 let=
区别 : 作用域不同
NUmber
字符串
布尔值
逻辑运算
&& 两个都为真,结果为真
|| 一个为真,结果为真
! 真即假,假即真
比较运算符
=
== 等于(类型不一样,值一样,也会判断为true)
=== 绝对等于(类型一样,值一样,结果为true)
对象
//Person person = new Person(1, 2,3,4);
var person = {
name:"nihao"
age = 3
tags:[‘js‘,‘java‘,‘python‘,‘web‘]
}
字符串
1.正常字符串我们使用 单引号,
2.注意转义字符 \
3.多行字符串编写
//在tab 上面 esc键下面
var msg=
`hello
world
你好呀
你好`
4.模块字符串
//tab 上面 esc键下面
let name = "zhangsan"
let age = 3;
let msg = `你好呀,${name}`
5.字符串的长度
str.length
6.字符串的可变性,不可变
7.大小写转换
//注意 这里是方法,不是属性
student.toUpperCase()
8.student.indexOf("t")
9.substring
[)
student.substring(1) //从第一个字符串截取到最后一个字符串,包括第一个,b
student.substring(1.3) //从第一个字符串截取,包括1,不包括3
数组
1.长度
arr.length
2.indexOf,通过元素下标获取索引
arr.indexOf(2)//获取元素2的下标
3.slice() 截取Array的一部分,返回一个新数组,类似于String中的substring
4.push() , pop() 尾部
push: 加入到尾部
pop: 弹出尾部的一个元素
5.unshift() , shift() 头部
unshift: 加入到头部
shift: 弹出头部的一个元素
6.排序用sort()
["b","a","c"]
arr.sort()
["a","b","c"]
7元素反转reverse()
["a","b","c"]c
arr.reverse()
["c","b","a"]
8.concat()
["a","b","c"]
arr.concat([1,2,3])
["a","b","c",1,2,3]
arr
["c","b","a"]
9.连接符join
["a","b","c"]
arr.join("-")
"a-b-c"
10.多维数组
对象
var 对象名 = {
属性名: 属性值
属性名: 属性值
属性名: 属性值
}
// 定义了一个person对象,他有四个属性!
var person = {
name : "zhangsan",
age : 2,
score:0
}
1.对象赋值
person.name = "张三"
"zhangsan"
person.name
"张三"
2.使用一个不存在的对象属性,不会报错! underfined
person.haha
underfined
3.动态的删减属性,通过delete 删除对象的属性
delete person.name
true
person
4.动态的添加,直接给新的属性添加值即可
person.hahah = "hahah"
"hahah"
5.判断属性值是否在这个对象中! xxx in xxx!
‘age‘ in person
true
//继承
‘toString‘ in person
true
6.判断一个属性是否是自身拥有的的hasOwnProterty()
person.hasOwnProterty(‘toString‘)
false
person.hasOwnProterty(‘age‘)
true
流程控制
if判断
while循环,避免程序死循环
for循环
forEach循环
var age = [12,23,45,36,56,88];
//函数
age.forEach(function(value){
console.log(value)
})
Map和Set
/*
ES6 Map
学生的成绩,学生的名字
var names = ["tom","jack","haha"];
var scores = [100,90,80];
*/
var map = new Map([[‘tom‘,100],["jack",80]["haha",80]]);
var name - map.get(.tom);//通过key获取value
map.set(‘admin‘,123456);//新增或修改
map.delete("tom");//删除
set.add(2);//添加
set.delete(1);//删除
set.has(3); //是否包含某个元素
//通过for of 或 for in + 下标
var arr = [3,4,5]
for(var x of arr){
console.log(x)
}
var map = new Map([[‘tom‘,100],["jack",80]["haha",80]]);
for(let x of map){
console.log(x)
}
var set =new Set([5,6,7]);
for(let x of set){
console.log(x)
}