JavaScript 数组+函数+作用域

一、数组

概念:数组(Array)就是一组数据的集合,存储在单个变量下。 数组中可以存放任意类型的数据,例如:数字,字符串,布尔值等。

创建数组

1、 利用new 创建数组

var 数组名 = new Array();
var arr = new Array();

注意:Array 中的 A 是大写。

2、 利用数组字面量创建数组(最常用)

数组的字面量是方括号[ ]。

var arr = [];
var arr1 = [1, 2, '字符串也可以', true];

注意:数组元素用逗号隔开。

访问数组元素

1、数组索引 索引:访问数组元素的序号,从0开始

var arr = [1, 2,3];
console.log(arr[0]);

遍历数组

利用for循环遍历数组

var arr = [1, 2, 3, 4, 5];
for (var i = 0; i < 5 ; i++){
    console.log(arr[i]);
}

数组长度

数组名.length : 动态检测数组长度。

var arr = [1, 2, 3];
console.log(arr.length);
for (var i = 0; i < arr.length ; i++){
    console.log(arr[i]);
}

数组中新增元素(常用)

var arr = ['red','green','blue'];
arr.length = 5;
console.log(arr); 
console.log(arr[4]; // undefined

var arr1 = ['red','green','blue'];
arr1[3] = 'balck'; 
console.log(arr1); 

arr1[0] = 'pink'; // 这里实现的是替换
console.log(arr1);

注意:不要直接给数组名赋值,否则里面的数组元素都无了。

二、函数

函数就是封装了一段可以重复被执行调用的代码块。

函数的使用

1、声明函数 声明函数方法1:

function 函数名(){
    //函数体
}

注意:function 是声明函数的关键字, 全部小写。 函数是做某件事,所以函数名一般用动词 函数不调用不会执行

声明函数方法2:

利用函数表达式(匿名函数),也可以进行参数传递。

// var 变量名 = function(){}
var fun = function(){ //fun是变量
    console.log('我是函数表达式');
}
fun();

2、调用函数 注意:函数名后面要加小括号。

函数的参数

参数的作用:在函数内部某些值不固定时,可以通过参数在调用函数时传递不同的值进去。 关系:形参是接受实参的。形参相当于不用声明的变量。

function 函数名(形参1,形参2...){ //声明函数的次奥括号里面是 形参
    
}
函数名(实参1,实参2....); //函数调用时的参数就是实参

注意:

  1. 如果实参的个数和形参个数一样,则正常输出。
  2. 如果实参的个数多余形参的个数,会取到形参的个数。
  3. 如果实参的个数小于形参的个数,那么多余的形参就是undefined,最终结果就是NaN。

函数的返回值

返回值用return

注意: return的另外一个作用是终止函数。 函数没有return,就会返回undefined。 return 不仅可以退出循环,还能够返回值,同时还可以结束当前的函数体中的代码。

arguments

只有函数才有arguments对象,而且是每个函数都内置好了这个arguments。 arguments里面存放了所有传递过来的实参,以数组的方式(伪数组,并不是真正意义上的数组)。

注意:

  1. 只有数组才有length属性。
  2. 数组按照索引方式进行存储。
  3. arguments它没有真正数组的一些方法,比如pop(), push()等。

函数调用

函数之间可以相互调用,函数也可以调用自身。

 

三、作用域

JavaScript作用域:就是代码名字(变量)在某个范围内起作用和效果,目的提高程序的可靠性,减少命名冲突。

JS作用域分为全局作用域和局部作用域。

  • 全局作用域:整个script标签或者一个单独的JS文件。
  • 局部作用域(函数作用域):在函数内部起作用。

变量的作用域

1、全局变量

  • 全局都可以使用
  • 如果函数内部,没有声明(函数外部以声明)直接赋值的变量也属于全局变量。

2、局部变量

函数的形参也可以看做局部变量

3、区别

  • 全局变量只有在浏览器关闭的时候才会销毁,比较占资源。
  • 局部变量 当我们执行完程序完毕就会销毁,比较节省资源。

作用域链

内部函数访问外部函数,通过链式查找的方法来获取想要的值,采取的是就近原则。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值