JavaScript02:数据类型
字符串
字符串不可变
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的网页</title>
<script>
"use strict";
/**
* ``,可以用来写普通字符串,多行字符串,模板字符串(`${name}`引用其他变量)
*/
let name = `first
second`;
console.log(name);
let tag = `${name} + 学Java`;
let temp = name + "dfa";
console.log(temp);
console.log(tag)
let string = "student";
console.log(string.length);
console.log(string.toUpperCase());
console.log(string.charAt(3));
console.log(string.substring(2));
</script>
</head>
<body>
</body>
</html>
数组
数组长度可变
可以包含任意类型,数组越界也不会报错,只是提示undefined
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的网页</title>
<script>
"use strict";
let arr = [1, 2, 3];
console.log(arr);
/**
* 数组的长度可以手动更改,如果比原长度短,后面的元素会被删掉
*/
arr.length = 5;
console.log(arr);
arr.length = 2;
console.log(arr);
arr.length = 5;
console.log(arr);
/**
* slice()方法切片
*/
console.log(arr.slice(1));
/**
* push()方法将元素压入数组末尾
* pop()方法将元素从末尾弹出
*/
arr.push("a", "b");
console.log(arr);
arr.pop();
arr.pop();
console.log(arr);
/**
* unshift()方法将元素压入数组头部
* shift()方法将元素从头部弹出
*/
arr.unshift("a", "b");
console.log(arr);
arr.shift()
console.log(arr);
/**
* 遍历数组
* fori循环和for...in循环打印索引
* forEach循环和for...of循环打印值
*/
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
arr.forEach(function (value) {
console.log(value);
})
for (let i in arr){
console.log(arr[i]);
}
for (let value of arr){
console.log(value);
}
/**
* sort()方法排序
* reverse()方法反转数组
*/
console.log(arr.sort());
console.log(arr.reverse());
/**
* concat()方法拼接数组,但是不会改变原数组
*/
console.log(arr.concat([1, 2, 3]));
console.log(arr);
/**
* join()方法使用指定连接符打印数组元素
*/
console.log(arr.join('-'));
</script>
</head>
<body>
</body>
</html>
对象
若干个键值对,{属性名: 属性值, ...}
键是字符串
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的网页</title>
<script>
"use strict";
let person = {
name: "ty",
age: 24,
score: 100
}
/**
* 打印不存在的属性也不会报错,输出undefined
*/
console.log(person.score);
console.log(person.gender);
/**
* delete可以动态删除属性,直接赋值可以动态添加属性
*/
delete person.age;
console.log(person);
person.age = 24;
console.log(person);
/**
* A in B判断对象是否拥有属性,父类继承的属性也算,注意属性是字符串需要加引号
* 也可以像python字典一样调用属性,但是必须加引号
*/
console.log("age" in person);
console.log(person["age"]);
console.log("toString" in person);
/**
* hasOwnProperty()方法只判断属于对象本身的属性
*/
console.log(person.hasOwnProperty("toString"));
console.log(person.hasOwnProperty("age"));
</script>
</head>
<body>
</body>
</html>
集合
Map和Set
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的网页</title>
<script>
"use strict";
/**
* new Map()方法创建Map集合,键不可重复
* set()方法添加键值对,get()方法获取值,delete()方法删除键值对
* for...of遍历Map
*/
let map = new Map();
map.set("Tom", 100);
map.set("Jerry", 90);
console.log(map);
for (let value of map) {
console.log(value);
}
console.log(map.get("Tom"));
map.delete("Jerry");
console.log(map);
/**
* new Set()方法创建Set集合,值不可重复
* add()方法添加元素,has()方法判断是否存在元素,delete()方法删除元素
*/
let set = new Set();
set.add(1);
set.add(1);
set.add(2);
console.log(set);
console.log(set.has(1));
set.delete(1);
console.log(set);
</script>
</head>
<body>
</body>
</html>

浙公网安备 33010602011771号