JavaScript数组的增删改查、函数及作用域详解

 更新时间:2025年08月04日 10:08:11   作者:波波鱼દ ᵕ̈ ૩ ​​​  
在JavaScript中作用域和作用域链是理解代码执行和变量访问的关键概念,它们决定了变量和函数在代码中的可见性和生命周期,这篇文章主要介绍了JavaScript数组的增删改查、函数及作用域的相关资料,需要的朋友可以参考下

一.操作数组

1.改

2.增

  • arr.push(新增的内容):将一个或多个元素添加到数组的结尾
  • arr.unshift(新增的内容):方法将一个或多个元素添加到数组的开头,并返回该数组的长度

3.删除

  • arr.pop():方法从数组中删除最后一个元素,不带参数,并返回元素的值
  • arr.shift():方法从数组中删除第一个元素,并返回元素的值
  • arr.splice(start,deleteCount):start--起始位置,deleteCount--删除元素的个数(不写的话默认全部删除)

二.函数

1.函数的使用

先声明后调用

a.声明语法

function 函数名(){
   函数体
}

b.命名规范

  • 和变量名基本一致
  • 尽量小驼峰
  • 前缀应该为动词
  • 常用的动词约定
动词含义
can

判断是否可执行某个动作

has判断是否含义某个值
is

判断是否为某个值

get获取某个值
set设置某个值
load加载某些数据

c.调用语法

函数不调用自己不执行

函数名()

d.函数传参

(1)声明语法

function 函数名(参数列表){
   函数体
}
//如
function getSum(num1,num2){
   document.write(num1+num2)
}
  • 形参:声明函数写在函数右括号里的
  • 实参:调用函数时写在函数名的右括号里的
  • 形参理解为在函数中声明的变量,实参理解为给这个变量赋值
  • 开发中保持形参和实参的个数一致

(2)函数返回值

//当函数需要返回数据出去时,用return关键字
return 数据
  •  有些函数有返回值,有些没有返回值
  • return后面的数据不能换行写
  • 没有值,默认返回的是undefined
  • 返回多个数据时可以使用数组的形式返回

(3)函数注意点

  • 函数名相同时,就近原则,后面的函数会覆盖前面的函数 
  • 在JS中形参和实参的个数可以不一致(形参过多--自动填上undefined;实参过多--多余的实参被忽略,函数内部有一个arguments,里面装着所有的实参)
  • 一旦碰到return就不会执行了,所以结束用return

2.匿名函数

函数可以分为:具名函数+匿名函数

a.没有名字的函数,无法直接使用

b.使用方式

(1)函数表达式

let fn=function(){
//函数体
}
fn()//调用函数
  • 具名函数可以在函数声明调用 (调用可以写到任意位置)
  • 函数表达式要先声明

(2)立即执行函数

//方式1--将匿名函数整个直接使用小括号包起来,然后直接小括号调用
(function (){console.log(11)})();

//方式2--调用之后再用一个小括号全部括起来
(function(){console.log(11)}());

//不需要调用立即执行
  •  避免全局变量之间的污染
  • 不需要额外调用
  • 多个立即执行函数之间要用分号隔开 

三.作用域

1.所用到的名字是有可用性的代码范围.简称作用域

2.组成

a.全局作用域:,整个script标签包含的是全局作用域

b.局部作用域:函数作用域,跳出函数后不能使用

c.全局变量:函数外的let的变量

d.局部变量:函数内的let的变量

3.变量的特殊情况

  • 函数没有声明,直接赋值,就当做全局变量(强烈不允许)
  • 函数内部的形参可以看作函数的局部变量

4.变量的访问原则

  • 只要是代码,就至少有一个作用域
  • 写在函数内部的局部作用域
  • 如果函数中还有函数,那么在这个作用域中就可以诞生一个作用域
  • 在能够访问到的情况下,先局部,局部没有找全局

四.逻辑运算符里的短路

1.短路

只存在于&&和||中,当满足一定条件会让右边代码不执行

符号短路条件
&&左边为false就短路
||左边为true就短路

0、''、undefined、null、false、NaN转换为布尔值之后都是false,其余为true

总结

到此这篇关于JavaScript数组的增删改查、函数及作用域的文章就介绍到这了,更多相关JS数组增删改查函数作用域内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 微信小程序填写用户头像和昵称实现方法浅析

    微信小程序填写用户头像和昵称实现方法浅析

    这篇文章主要介绍了微信小程序填写用户头像和昵称实现方法,我们使用小程序往往能碰到提示允许获取用户头像昵称,这种功能怎么实现呢?本篇文章带你探索
    2023-02-02
  • js 鼠标事件的抓取

    js 鼠标事件的抓取

    鼠标事件的抓取实现代码,需要的朋友可以参考下。
    2010-04-04
  • 使用HTML+JavaScript实现具有交互功能的组织架构图

    使用HTML+JavaScript实现具有交互功能的组织架构图

    在开发大型应用程序时,设计良好的组织架构图对于团队协作和代码维护非常重要,这篇文章主要介绍了使用HTML+JavaScript实现具有交互功能的组织架构图的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-06-06
  • JS实现带提示的星级评分效果完整实例

    JS实现带提示的星级评分效果完整实例

    这篇文章主要介绍了JS实现带提示的星级评分效果,以完整实例形式较为详细的分析了JavaScript响应鼠标事件动态变换页面元素样式的相关技巧,非常简单实用的代码,需要的朋友可以参考下
    2015-10-10
  • 关于JS数组追加数组采用push.apply的问题

    关于JS数组追加数组采用push.apply的问题

    JS数组追加数组没有现成的函数,这么多年我已经习惯了a.push.apply(a, b);这种自以为很酷的,不需要写for循环的写法,一直也没遇到什么问题,直到今天我要append的b是个很大的数组时才遇到了坑。
    2014-06-06
  • JavaScript DOM操作与事件处理方法

    JavaScript DOM操作与事件处理方法

    本文通过一系列代码片段,详细介绍了如何使用JavaScript进行DOM操作、事件处理、属性操作、内容操作、尺寸和位置获取,以及实现简单的动画效果,涵盖了基础和高级技术点,适合初学者和进阶开发者,感兴趣的朋友一起看看吧
    2025-01-01
  • Javascript前端下载后台传来的文件流代码实例

    Javascript前端下载后台传来的文件流代码实例

    这篇文章主要介绍了Javascript前端下载后台传来的文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 兼容主流浏览器的JS复制内容到剪贴板

    兼容主流浏览器的JS复制内容到剪贴板

    这篇文章主要介绍了兼容主流浏览器的JS复制内容到剪贴板的实现方法及示例,非常实用,有需要的小伙伴参考下
    2014-12-12
  • 基于webpack-hot-middleware热加载相关错误的解决方法

    基于webpack-hot-middleware热加载相关错误的解决方法

    下面小编就为大家分享一篇基于webpack-hot-middleware热加载相关错误的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • javascript 使用 NodeList需要注意的问题

    javascript 使用 NodeList需要注意的问题

    理解NodeList及其近亲NamedNodeMap和HTMLCollection,是从整体上透彻理解DOM的关键所在,这三个集合都是“动态的”,换句话说,每当文档结构发生变化时,他们都会得到更新。
    2013-03-03

最新评论