js之函数

本人98女,大学计算机专业,由于专业技能方面很拉胯,毕业之后就去某编程做了一名班主任。做了将近一年时间,发现销售真的不适合自己,然后在什么都没有的情况下居然选择了裸辞,到今天是我裸辞的5个月,期间一直在自学web前端,直到现在开始找工作,才发现,互联网公司真的不是那么容易进的,再加上最近几年的大环境,投出去的简历就像泼出去的水,消失在茫茫人海。。。。。好不容易有了面试,面试官不按套路走,上来问我有没有算过自己总共写过多少行代码,我tm那会回答这个问题,就含糊的糊弄过去了,然后就问了一些js中函数你总结过多少,能不能说一些,以及this,闭包等等,问的很深奥,我平时也没有思考过这么多,这次就一下子被问住了,一把辛酸泪,面试官也告诉了我学习这些东西,重要的是原理,一定要弄清楚,这个东西是什么,为什么有它的出现,那不用它可不可以,以及怎么去使用它,这样去学习的话,效率才会提高。啥也不说了,还是自己学的太浅,只能发奋图强,继续努力了,那么接下来就开始分享我学习的过程,也算是监督自己帮助自己复习,自我沉淀的一个过程把,话不多说,开整。。。

js-函数

1.函数是什么?

函数是一个对象,会有普通对象的一些功能,会比普通对象更强大,可以在构造函数内封装可执行代码

比如:

 var fun = new Function("console.log('这是我的第一个函数')")
    // console.log(typeof fun);
    // console.log(fun);
    // fun()
    fun.hello = "你好"
    console.log(fun.hello);//你好

2.函数是干啥的?

函数可以封装一些功能,方便我们需要的时候去使用

函数可以存放一些代码,方便我们后续调用

函数简称function

场景:我们想要在不同的位置执行一下代码,可能这时候我们会想,直接复制不就完了,这样确实可以,但如果我们想要执行100行甚至1000行,在一个项目中的不同位置都需要使用呢,这时候你可能又会说,接着复制呗,确实复制不难,但是我们下次想要修改代码的时候就难了,也就是说,不方便我们后续的维护呀,这个时候我们就可以选择使用函数,去封装功能。

//执行这三行代码
console('hello')
console('hello')
console('hello')

3.如何创建一个函数?

(1)利用构造函数去创建一个函数对象

可以将封装的代码放在构造函数内部,以字符串的形式存放

var fun = new Function("console.log('这是我的第一个函数')")

注意:封装到函数内的代码并不会立即执行

 (2)如何调用函数?

函数对象()

fun()

(3)不推荐使用构造函数去创建一个函数,只是告诉我们,函数也是一个对象

4.利用函数声明去创建函数

    // 其中fun2是函数名,[]代表可选参数,可写可不写
    function fun2([形参1,形参2,形参3]) {
       console.log('这是我的第二个函数');//函数体,不调用函数不会执行
    }
    console.log(fun2);

5.利用 函数表达式来 创建一个函数 

将一个匿名函数赋值给变量

var fun3 = function() {}
    console.log(fun3);

6.立即执行函数,匿名函数

什么是立即执行函数呢?就是创建完立即执行的函数,接下来看代码

 function() {
      console.log('我是一个匿名函数');
    }
//Uncaught SyntaxError: Function statements require a function name

 直接写一个匿名函数,会报错

var a = function() {
      console.log('我是一个匿名函数');
    }

如果前面创建一个变量去接受它的话,是不会报错的,但有些场景,我们就需要调用函数一次,创建完就执行,也就是所谓的立即执行函数,这样我们没有必要再去创建一个变量,造成内存的一个污染,那怎么解决报错呢,需要外面加一个大括号,表示它们是一个整体

 (function() {
      console.log('我是一个匿名函数');
    })

那又怎么去调用匿名函数呢?直接后面加括号就可以

 (function() {
      console.log('我是一个匿名函数');
    })()//我是一个匿名函数

 完美解决。。。。

立即执行函数也是可以传入参数的

(function(a,b) {
      console.log('a='+a);
      console.log('b='+b);
    })(2,3)//a=2 b=3

7.总结

(1)3种创建函数的方法,第一种利用构造函数,第二种利用声明函数,第三种利用函数表达式创建一个函数,就是将一个匿名函数赋值给一个变量

(2)函数是什么?函数是一个对象,可以封装一些代码,需要的时候我们可以使用

(3)不封装代码就不能使用了嘛,使用函数的优点?方便我们复用代码,比如一些代码我们会在不同的地方去使用,使用几次我们可以直接复制粘贴,但是几百次几千次复制粘贴就不是一个可行的方案,这时候,我们可以选择把这些代码封装在一个函数内,什么时候使用了,我们拿出去使用就好啦,如果想要修改代码的时候,也只是修改一次,大大提高了我们工作的效率,提高了代码的可复用性

(4)立即执行函数往往只会执行一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值