2021/01/06 JS基础 ECMASCRIPT(二)

(一)数组
1 .数组的含义:数组就是一组数据的集合,其中的每个数据被称为元素,在数组中可以存放任意类型的元素,数组是将一组数据存储在单个变量名下的优雅方式。

2 .数组的创建方式:

通过new关键字来创建数组,

var arr = new Array();//创建一个空数组

var array = new Array(1, 2, 3, 4);//创建一个有初始元素的数组

通过字面量来创建数组,

var arr = [];//创建一个空数组
var array = [1, true, '字符串', 4];//数组里可以存储任意类型的元素

3 .获取数组中的元素:索引,索引从0开始计数

数组可以通过索引(下标)来访问、修改、设置数组中对应的元素,语法:数组名[索引]

var array = [1, true, '字符串', 4];
console.log(array[0]);// 1
console.log(array[4]);// undefined

4 .数组的遍历
遍历就是把数组中的所有元素访问一次,通过循环来实现

var array = [1, true, '字符串', 4];
for (var i = 0; i < array.length; i++) {// length 数组的长度
	console.log(array[i]); // i 就作为数组的索引号
}

5. 常用数组方法
将数组转换为字符串:
toString() 返回一个转换完的新字符串,以逗号分隔

var array = [1, true, '字符串', 4];
array = array.toString();//'1,true,字符串,4'

join(分隔符) 返回一个转换完的新字符串,以自定义的分隔符分隔

var array = [1, true, '字符串', 4];
array = array.join('|');//'1|true|字符串|4'

数组元素的添加和删除:

直接赋值追加:

var array = [1, true, '字符串', 4];
array[5] = 5; // [1, true, '字符串', 4, 5]
array[0] = '覆盖'; // ['覆盖', true, '字符串', 4]

push() 在数组末尾添加一个或者多个元素,返回新数组的长度

var array = [1, true, '字符串', 4];
array.push('新增1', '新增2');// [1, true, '字符串', 4, '新增1', '新增2']

unshift() 在数组的开头新增一个或者多个元素,返回新数组的长度

var array = [1, true, '字符串', 4];
array.unshift('新增1', '新增2'); // ['新增1', '新增2', 1, true, '字符串', 4]

pop() 弹出(删除)数组最后一个元素,返回该元素

var array = [1, true, '字符串', 4];
var item = array.pop(); // 4

shift() 删除数组第一个元素,返回该元素

var array = [1, true, '字符串', 4];
var item = array.shift(); // 1

反转数组(反序):reverse()

var array = [1, true, '字符串', 4];
array = array.reverse(); // [4, '字符串', true, 1] 

(二) 函数
函数的概念:在JS中,可能会定义非常多的相同代码或者功能类似的代码,需要大量重复使用。此时就可以使用JS中的函数。所以函数就是被封装了一段可以被重复调用的代码块。

1 .声明函数:

function 函数名(形参) {函数体} // 函数不调用时不执行的

2 .函数调用:

函数名(实参);

3 .函数的返回值;

① 同时,return可以终止函数,return语句后面的代码不会再执行。
② return只能返回一个值,如果写了多个值,结果以最后一个逗号分隔的值为准
③ 如果没有return返回值,则返回undefined

function 函数名(形参) {
	return 需要返回的结果;
}

4 .arguments的使用;

当我们不确定有多少个参数需要传递的时候,可以用arguments来获取,在JS中,arguments实际上是当前函数的一个内置对象,所有函数都内置了一个arguments对象,存储了传递的所有实参。

arguments其实是一个伪数组,,因此可以遍历,伪数组具有以下特点:
① 具有length属性
② 按照索引的方式存储数据
③ 不具有数组的push、pop等方法

5 .函数的两种声明方式:
① 命名函数

function 函数名(形参) {函数体}
函数名();

② 函数表达式(匿名函数)

var 变量名 = function () {}
变量名();

6 .JS内置函数

parseInt() 提取字符串中的数字,只限提取整数
parseFloat() 提取字符串中的数字,可以提取小数
isFinite() 判断某一个数是否是一个有限数值,返回布尔值
isNaN() 判断一个数是否是NaN值,返回布尔值
escape() 对字符串进行编码

var str = '编码';
str = escape(str);
// %u7F16%u7801

unescape() 对字符串进行解码
eval() 把一个字符串当做一个表达式一样去执行

var str = '1 + 2';
str = eval(str);// 3

(三)作用域

作用域的概念: 一段代码中所用用到的名字(变量)并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,避免了名字冲突。ES6中增加了块级作用域的概念。在ES6之前,作用域分为全局作用域和局部作用域(函数作用域)。

JS中变量的作用域:
① 全局变量:在全局作用域下声明的变量,在浏览器关闭时销毁
② 局部变量:在局部作用域下声明的变量(函数),在函数执行完毕时销毁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值