ES6(函数)

ES6中的函数

1.函数

函数:实现某种功能的程序模块。

function 函数名([参数]){
	函数体语句;
}

(1)参数

  1. 形参:形式参数,是一个占位符,在函数定义时没有数据。
  2. 实参:实在参数,在函数调用时使用,表示的是实际的数据。

2.函数参数的默认值

function 函数名(参数1=默认值,参数2=默认值){}
//ES5中定义函数的默认参数

function fun(name,age){    //name、age、cb是形参

    name = undefined?"张三":name;
    age = undefined?20:age;

    console.log(`${name},${age}`);
}

fun();

fun('李四',30);


//ES6中的写法

function fun1(name="张三",age="30"){
    console.log(`${name},${age}`);
}

fun1()

fun1("刘备",36)

3.函数的不定参数

function 函数名(参数1,参数2...rest){}
//ES5中

function fun(){
    console.log(arguments);
    console.log(arguments.length);
    console.log(arguments[0]);
    console.log(...arguments);
    console.log([...arguments]);
}

fun(123,"张三","雁塔区");

输出结果如下:

在这里插入图片描述

//ES6中

function fun1(...rest){
    console.log(rest);    //输出结果为:[ 123, '张三', '雁塔区' ]
}

fun1(123,"张三","雁塔区")
function fun1(a,b,...rest){

    console.log(a);    //输出结果为:123
    console.log(b);    //输出结果为:张三
    console.log(rest);    //输出结果为:[ '雁塔区', 456, 789 ]
}

fun1(123,"张三","雁塔区",456,789);

注意:’…rest’必须放在形参列表的最后

4.箭头函数:

箭头函数:箭头函数语法最大的特点石油’=>'符号,它也有很多变形写法。

let/const/var 变量名 = ([参数]) =>{ 函数体语句 }
  1. 若只有一个参数,则’()'可以省略
  2. 若函数体只有一条语句,则’{}'可以省略,且默认带有return功能。
  3. 没有隐形参数arguments
  4. 在返回对象时,需要使用"()"将对象括起来
  5. 没有this指针的绑定

(1)没有参数,用括号代替

let fun = () => "张三";

console.log(fun());    //输出结果为:张三

(2)一个参数,括号可以省略

let fun = arg => ++arg;

console.log(fun(3));

(3)多个参数

let fun = (arg1,arg2) => arg1+arg2;

console.log(fun(1,2));

(4)利用箭头语句里隐式返还的时候需要注意对象的情况,可能会出现以下的错误:

let fun = () =>{
	name:'张三',
	age:20
}

这个代码初步感觉是返还一个对象,但是这里的大括号和函数内的大括号会有冲突,导致报错。

正确书写格式如下:

let fun = () => ({
    name:"张三",
    age:20
})

console.log(fun());    //输出结果为:{ name: '张三', age: 20 }

(5)箭头函数里没有this绑定,如下代码,this指向对象本身

let obj = {
    id:2,
    fun:function(){
        console.log(this.id);
    }
}

obj.fun();    //输出结果为2

上面代码可以打印出id为2,this指向了obj,所以this.id可以取得obj.id。如果改成箭头语法会发现,函数中this指向改变了,代码如下:

let obj = {
    id:2,
    fun:() => {
        console.log(this.id);
    }
}

obj.fun();    //输出结果为undefined

这里发现this.id获取不到值,原因是箭头函数没有this绑定,箭头函数中的this会指向最近的上层this,所以这里的this指向是window,所以最终取不到this.id。

var id = 12;

let obj = {
    id:2,
    fun:() => {
        console.log(this.id);
    }
}

obj.fun();

用谷歌浏览器打印显示结果如下:

在这里插入图片描述

newifi3 D2 是一款知名的路由器设备,而“老毛子固件”是一种第三方固件,常用于对路由器进行刷机以增加功能和改善性能。老毛子固件在安全性和稳定性上具有一定的优势,受到很多用户的喜爱。 然而,老毛子固件的默认密码是不同于原厂固件的。为了保护设备和用户的安全,建议在刷机之后立即修改密码。 具体设置密码的步骤如下: 1.连接电脑与newifi3 D2路由器设备,确保网络连接正常。 2.打开电脑上的浏览器,输入路由器管理界面地址,默认为192.168.1.1。 3.在登录界面,用户名一般默认为空,密码字段中输入默认的密码“admin”。 4.成功登录后,在路由器管理界面中找到设置选项或管理选项,点击进入。 5.在设置或管理选项中找到“密码设置”或“密码修改”等相关选项,点击进入密码设置界面。 6.在密码设置界面中,输入旧密码(默认为"admin"),然后输入您希望设置的新密码。为了确保密码的安全性,建议使用强度较高的密码,包含字母,数字和特殊字符,并且长度在8位以上。 7.保存设置后,重启路由器以使新密码生效。 需注意的是,由于不同版本的老毛子固件可能有所差异,以上步骤可能会有些细微的变化。因此,在进行设置之前,建议先查看官方文档或咨询老毛子固件的技术支持,以获取准确的设置步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值