JavaScript基础2

JavaScript基础2

1. 数组

1.1 数组定义

​ JS 中定义数组的三种方式如下(也可以先创建再赋值):

var arr = [1,值2,值3]//隐式创建

var arr = new Array(1,值2,值3)//直接实例化

var arr = new Array(size);		//创建数组并指定长度
1.2 数组的操作

​ 数组的长度可以通过length属性来获取,并可以任意修改.

数组名.length
数组名.length = 新长度

​ 数组中的每一个元素都可以被访问和修改,甚至是不存在的元素,无所谓越界.

数组名[下标]
数组名[下标] = 新值
1.3 数组的遍历

​ JS提供三种遍历数组的方式:

​ 1)for 循环遍历

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

​ 2) for … in

for (var idx in arr)
    {
        console.log(arr[idx]);
    }

​ 3) forEach

数组名.forEach (function(element,index){
    //element(名称任意):元素, index(名称任意):下标
})
如:
arr.forEach (function(elem,idx){
    console.log(idx + "-->" + elem);
});

注意:for --> 不遍历属性

​ foreach --> 不遍历属性和索引中的undefined

​ for in --> 不遍历索引中的undefined

1.4 数组提供的方法
方法作用
push添加元素到最后
unshift添加元素到最前
pop删除最后一项
shift删除第一项
reverse数组反转
join数组转成字符串
indexOf数组元素索引
slice截取(切片)数组,原数组不发生改变
splice剪接数组,原数组变化,可以实现前后删除效果
concat数组合并

2. 函数

2.1 函数的定义

​ 有三种函数定义的方式:函数声明语句、函数定义表达式、Function构造函数.

​ 1)函数声明语句

function foo(){
    console.log(1);
}
foo();

​ 2)函数定义表达式

var fn1 = function(a,b,c)
{
    console.log(a+b+c);
}

​ 3)Function构造函数

var fn2 = new Function ("a","b",'return a + b')
2.2 函数的参数
  • 实参可以省略,那么对应形参位undefined
  • 可以给参数默认值
  • 参数为值传递,传递副本;引用传递时传递地址,操作的是同一个对象
function fn1(a,b)
{
    console.log(a+b);
}

fn1();				// NaN
fn(1);				// NaN
fn(1,4);			// 5
fn(1,2,3)           // 3,多传参数不会算
function fn2(a)
{
    // 如果形参a有值,则值为a传递的值,否则值为"a"
    a = a || "a"
    console.log(a);
}

fn2();			 // a
fn2(1)// 1

3. 函数的调用

​ 1)常用调用模式

function g1()
{
    console.log(常用调用模式);
}

g1();

​ 2)函数调用模式

var g2 = function()
{
    console.log(函数调用模式);
}

g2();

​ 3)方法调用模式

var o = {
    m:function(){
        console.log(2);
    }
};

0.m();

4. return

​ 作用:

  1. 在没有返回值的方法中,用来结束方法。
  2. 有返回值的方法中,一个是用来结束方法,一个是用来将值传递给调用者。

5. 函数的作用域

5.1 全局变量与局部变量同名问题
var box = 1;    //全局变量
function display(box)
{
    var box = 3;			// 这里的box与全局变量box无关,是局部变量
    var b = 2;				// 局部变量
    console.log("box-->" + box);			// 3
}

display();
5.2 在函数中定义变量时,若没有加var关键字,使用之后自动变成全局变量
function fun()
{
    a = 100;
}
fun();

🐏:去试试吧!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值