前端学习 JavaScript(2)
1.Array数组
JavaScript 数组与 C 语言数组的主要区别:
-
数据类型:
- C 语言数组要求元素必须是相同数据类型(如 [1, 2, 3] 或 ["aa", "nb"])
- JavaScript 数组允许包含不同类型的元素
-
越界访问处理:
- C 语言数组越界访问会报错
- JavaScript 数组越界访问会返回 undefined
-
相同点:
- 两者都支持通过下标访问元素
var arr=new Array("abc",88,true,false,null);//第一种定义方法
console.log(arr[0]);
var arr1=["a66",1,34,555];//第二种
console.log(arr1);

<1>、js当中的数组可以当成栈和队列使用
栈:能让数据实现先进后出
push(element)元素入栈
pop()元素出栈
JavaScript数组可以通过push()和pop()方法模拟栈的后进先出(LIFO)特性。
var stack=[];
stack.push("孙悟空");
stack.push("猪八戒");
stack.push("沙僧");
console.log(stack.pop());
console.log(stack.pop());
console.log(stack.pop());

队列:能让数据实现先进先出
unshift(element);元素入队列 shift()元素出队列
数组可以通过unshift()和shift()方法模拟队列的先进先出(FIFO)特性。
var queue=[];
queue.unshift("xiao");
queue.unshift("king");
queue.unshift("ll");
console.log(queue.shift());
console.log(queue.shift());
console.log(queue.shift());

这符合队列 "先进先出"(FIFO - First In First Out)的基本规则,但在使用 unshift() 方法时会出现一个特殊现象。队列通常使用 push() 方法在队尾添加元素,使用 shift() 方法从队首移除元素,这样就保持了严格的先进先出顺序。
然而,当使用 unshift() 方法时,情况会有所不同:
- unshift() 方法会在数组的开头添加新元素
- 这个操作会导致后续添加的元素反而排在了前面
- 例如:const queue = [1]; queue.unshift(2); // [2,1]
- 这样虽然保持了"先进先出"的操作顺序(先添加的元素先被移除),但元素的物理顺序与添加顺序相反
<2>、数组内元素的排序
1.默认排序
var arr2=["asdf","gfggf","sdaf","safafgwr"];
console.log("处理前",arr2);
arr2.sort();
console.log("处理后",arr2);
var arr3=[12,2415,2313,333,56,7374];
console.log("处理前",arr3);
arr3.sort();
console.log("处理后",arr3);

默认排序是比较各个位置的大小从第一个位置开始而不是整体大小。
2.按大小排序
var arr4=[12,2415,2313,333,56,7374];
console.log("处理前",arr4);
arr4.sort(function(a,b){
return a-b; //简单来说a-b升序,b-a降序
});
console.log("处理后",arr4);

return a-b; 简单来说a-b升序,b-a降序。
3.object对象
Object 是 JavaScript 中最基础的对象类型,所有其他对象都继承自 Object。
Array:数组 Date:日期 Math:数学类 string:字符类
Array 数组对象
Array 是用于存储有序数据集合的对象,提供多种操作方法:
常用方法
push()/pop(): 在数组末尾添加/删除元素unshift()/shift(): 在数组开头添加/删除元素slice(): 返回数组片段splice(): 删除/替换数组元素forEach(): 遍历数组map(): 映射新数组filter(): 过滤数组元素
Date 日期对象
Date 对象用于处理日期和时间:
常用方法
new Date(): 创建当前时间的日期对象getFullYear(): 获取年份getMonth(): 获取月份(0-11)getDate(): 获取日期(1-31)getHours(): 获取小时getTime(): 获取时间戳
Math 数学对象
Math 对象提供数学常量和函数:
常用属性和方法
Math.PI: 圆周率Math.random(): 生成0-1之间的随机数Math.floor(): 向下取整Math.ceil(): 向上取整Math.round(): 四舍五入Math.max()/Math.min(): 最大值/最小值Math.pow(): 幂运算Math.sqrt(): 平方根
String 字符串对象
String 对象用于处理文本字符串。
常用方法:
charAt()- 返回指定位置的字符indexOf()/lastIndexOf()- 查找子字符串位置slice()/substring()- 提取子字符串split()- 分割字符串为数组toUpperCase()/toLowerCase()- 大小写转换trim()- 去除两端空白replace()- 替换子字符串includes()- 检查是否包含子字符串
4.Function函数/方法
function myTeest(){
//---
}
5.js的运算符
赋值运算=等号前边是变量,后边是值
var arr11=[1,2,3,4,5];
arr11[0]=arr11[1];//将2这个值赋给1的位置
console.log(arr11);
//2,2,3,4,5
![]()
6.强化运算符运算
赋值运算符的简写形式
简写形式用于简化常见的赋值操作,例如:
a += b等价于a = a + ba -= b等价于a = a - ba *= b等价于a = a * ba /= b等价于a = a / b
例如 a /= 2 等价于 a = a / 2,将变量 a 的值除以 2 后重新赋值给 a。
比较运算符
比较运算符用于比较两个值,返回布尔值 true 或 false:
>大于<小于>=大于或等于<=小于或等于==等于(仅比较值,不比较类型)!=不等于(仅比较值,不比较类型)===严格等于(比较值和类型)!==严格不等于(比较值和类型)
例如:
var a = "123";
var b = 123;
a == b; // true(值相同)
a === b; // false(类型不同)
逻辑运算符
逻辑运算符用于判断布尔表达式:
&&(逻辑与):两个操作数同为true时返回true,否则返回false。||(逻辑或):两个操作数中至少有一个为true时返回true,否则返回false。!(逻辑非):对操作数的布尔值取反。如果操作数为true,返回false,反之亦然。
示例:
true && false; // false
true || false; // true
!true; // false
//+= *= /= -=
//a/2--->a=a/2;
//比较运算符:> < <= >= ==(相同返回true=,不相等放回false) !=
//===(a===b:判断变量是否严格相同,即两个变量的数据类型是否相同,值是否相等)
//var a="123";var b=123; a==b(true) a===b(false)
//逻辑运算符: && || !
//&&两个操作数同为真为真,否则为假
//||两个操作数只有一个为真则真,否则为假
//!只有一个操作上,操作数取反
7.三目运算符
(表达式)?A:B--->如果表达式为真则输出A,否则输出B
a>b?console.log("hello"):console.log("world")
更多推荐


所有评论(0)