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数组增删改查函数作用域内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
javascript showModalDialog 内跳转页面的问题
在页面中使用了showModalDialog,但是在跳转链接时,不会在当前页执行,而是弹出一个新的页面。2010-11-11
微信小程序getLocation 需要在app.json中声明permission字段
这篇文章主要介绍了微信小程序getLocation 需要在app.json中声明permission字段,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-03-03
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
想必大家都用过或接触过 OkHttp,我最近在使用 Okhttp 时,就踩到一个坑,在这儿分享出来,以后大家遇到类似问题时就可以绕过去2018-01-01
IE6中链接A的href为javascript协议时不在当前页面跳转
IE6中当链接A的href为javascript协议时不能在当前页面跳转,本例给出有效的解决方法,大家不妨参考下2014-06-06
一文彻底搞懂JavaScrip中的call、apply、arguments
在学习JavaScript时,你可能会遇到call、arguments和apply这三个方法,这篇文章主要介绍了关于JavaScrip中的call、apply、arguments的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下2025-04-04


最新评论