1.Array数组

JavaScript 数组与 C 语言数组的主要区别:

  1. 数据类型:

    • C 语言数组要求元素必须是相同数据类型(如 [1, 2, 3] 或 ["aa", "nb"])
    • JavaScript 数组允许包含不同类型的元素
  2. 越界访问处理:

    • C 语言数组越界访问会报错
    • JavaScript 数组越界访问会返回 undefined
  3. 相同点:

    • 两者都支持通过下标访问元素
     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() 方法时,情况会有所不同:

  1. unshift() 方法会在数组的开头添加新元素
  2. 这个操作会导致后续添加的元素反而排在了前面
  3. 例如:const queue = [1]; queue.unshift(2); // [2,1]
  4. 这样虽然保持了"先进先出"的操作顺序(先添加的元素先被移除),但元素的物理顺序与添加顺序相反

<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 + b
  • a -= b 等价于 a = a - b
  • a *= b 等价于 a = a * b
  • a /= b 等价于 a = a / b

例如 a /= 2 等价于 a = a / 2,将变量 a 的值除以 2 后重新赋值给 a

比较运算符

比较运算符用于比较两个值,返回布尔值 truefalse

  • > 大于
  • < 小于
  • >= 大于或等于
  • <= 小于或等于
  • == 等于(仅比较值,不比较类型)
  • != 不等于(仅比较值,不比较类型)
  • === 严格等于(比较值和类型)
  • !== 严格不等于(比较值和类型)

例如:

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")

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐