当前位置: 首页 > news >正文

JavaScript知识点1

目录

1.JavaScript中常用的数组方法有哪些?

2.JavaScript的同源策略?

3.JavaScript中的 NaN 是什么?

4.JavaScript中的split、slice、splice函数区别?


1.JavaScript中常用的数组方法有哪些?

在 JavaScript 中,数组方法非常丰富,以下是一些常用的方法:

  • push(): 向数组末尾添加一个或多个元素,并返回新的数组长度。
  • pop(): 移除数组末尾的元素,并返回该元素。
  • shift(): 移除数组开头的元素,并返回该元素。
  • unshift(): 向数组开头添加一个或多个元素,并返回新的数组长度。
  • concat(): 合并两个或多个数组,并返回一个新数组。
  • join(): 将数组中的所有元素连接成一个字符串。
  • slice(): 返回数组的一个片段,新数组从指定的起始索引到结束索引(不包括结束索引)之间的元素。
  • splice(): 从数组中添加或删除元素,并返回被删除的元素。
  • forEach(): 对数组的每个元素执行一次提供的函数。
  • map(): 创建一个新数组,其结果是对原数组的每个元素应用提供的函数后的返回值。
  • filter(): 创建一个新数组,其包含通过提供函数测试的所有元素。
  • reduce(): 对数组中的所有元素应用一个函数,从而将其减少为单一值。
  • find(): 返回数组中第一个满足提供函数的元素。
  • some(): 测试数组中是否有任意一个元素满足提供函数的条件。
  • every(): 测试数组中是否所有元素都满足提供函数的条件。
  • sort(): 对数组中的元素进行排序,并返回排序后的数组。
  • reverse(): 反转数组中元素的顺序,并返回数组。

2.JavaScript的同源策略?

同源策略(Same-Origin Policy)是浏览器用于隔离不同源的网页以增强安全性的机制。它要求来自不同源的网页不能相互访问彼此的资源。同源是指协议、域名和端口号都相同。

  • 协议: 比如 http 和 https 是不同的协议。
  • 域名: 比如 example.com 和 example.org 是不同的域名。
  • 端口号: 比如 http://example.com:80 和 http://example.com:8080 使用了不同的端口。

同源策略主要影响以下几种操作:

  • DOM访问: 脚本只能访问相同源文档的 DOM。
  • AJAX 请求: 脚本只能向相同源的服务器发起请求。
  • Cookies: 只能访问同源的 cookies。

3.JavaScript中的 NaN 是什么?

NaN(Not-a-Number)是一个特殊的值,表示某个值不是一个合法的数字。NaN 是 JavaScript 中的一个全局属性,其类型是 Number,但其值不是一个有效的数字。常见情况下,NaN 出现在数学运算失败或不能定义的情况下,例如:

let result = 0 / 0; // 结果是 NaN
let invalidNumber = Number("abc"); // 结果是 NaN

需要注意的是,NaN 与任何值(包括 NaN 自身)的比较结果都是 false,这意味着 NaN === NaN 结果为 false。检测 NaN 通常使用 Number.isNaN() 方法:

Number.isNaN(result); // 返回 true

4.JavaScript中的split、slice、splice函数区别?

(1)split(separator, limit): 用于将字符串分割成一个数组。

  • 参数:
    • separator(可选):指定分隔符,可以是字符串或正则表达式。
    • limit(可选):限制分割的数量。
  • 返回值: 分割后的字符串数组。
  • 例子:let str = "a,b,c";
    let arr = str.split(","); // ["a", "b", "c"]

(2)slice(start, end): 用于从数组中提取一个片段,返回一个新的数组,不改变原数组。

  • 参数:
    • start:起始索引(包含),默认为 0
    • end(可选):结束索引(不包含),默认为数组的长度。
  • 返回值: 从 start 到 end 之间的元素组成的新数组。
  • 例子: let arr = [1, 2, 3, 4, 5];
    let newArr = arr.slice(1, 4); // [2, 3, 4]

(3)splice(start, deleteCount, item1, item2, ...): 用于从数组中添加或删除元素,改变原数组。

  • 参数:
    • start:起始索引。
    • deleteCount(可选):要删除的元素个数。如果为 0,则不删除。
    • item1, item2, ...(可选):要添加的新元素。
  • 返回值: 被删除的元素数组(如果有删除的话)。
  • 例子:let arr = [1, 2, 3, 4, 5];
    let removed = arr.splice(2, 2, 6, 7); // [3, 4], arr 变为 [1, 2, 6, 7, 5]

split 用于字符串,slice 用于数组(返回片段),splice 用于数组(添加或删除元素)。

http://www.lryc.cn/news/436416.html

相关文章:

  • 51单片机个人学习笔记11(AT24C02-I2C总线)
  • 创建Java项目,可实现main方法运行,实现对性能数据的处理
  • JavaWeb(后端)
  • 828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台
  • 分治法和动态规划法
  • 【FreeRL】我的深度学习库构建思想
  • Docker部署nginx容器无法访问80端口
  • Python语言开发学习之使用Python预测天气
  • minio实现大文件断点续传
  • Qt绘制动态仪表(模仿汽车仪表指针、故障灯)
  • 【视频教程】GEE遥感云大数据在林业中的应用与典型案例实践
  • 【时时三省】c语言例题----华为机试题<字符串排序>
  • 基于vue框架的城市体育运动交流平台15s43(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • 2024年软件测试经典大厂面试题(全3套)【包含答案】
  • What is Node.JS and its Pros and Cons
  • TestCraft - GPT支持的测试想法生成器和自动化测试生成器
  • FreeRTOS内部机制学习04(任务通知和软件定时器)
  • 华为eNSP :WLAN的配置
  • 中国大数据产业的融资热潮来袭,哪些领域最受资本青睐?
  • Unity数据持久化 之 使用Excel.DLL读写Excel表格
  • Linux系统:chown命令
  • Unity3D ARPG(动作角色扮演游戏)设计与实现详解
  • Qt实现登录界面
  • big.LITTLE
  • 汤臣倍健,三七互娱,得物,顺丰,快手,游卡,oppo,康冠科技,途游游戏,埃科光电25秋招内推
  • 再谈c++模板
  • 9.11 codeforces Div 2
  • 二级菜单的两种思路(完成部分)
  • 【机器学习导引】ch2-模型评估与选择
  • 二开ihoneyBakFileScan备份扫描