JS作业第四周:JS中fun和fun()区别

JS作业第四周

在JS的四周作业中,我有1个问题答不上来。主要是没弄清楚fun和fun()的区别。

调用fun

举例:

		function a() {

            function b() {
                return "dfs"
            }
            alert(b)

        }
        var c = a();
        c();

弹出:

		function b() {
                return "dfs"
            }

为什么?
我觉得首先要清楚函数对象的另一种定义:var b = new Funtion(形参列表)
它等价于上面的函数定义。也就是说b代表了函数对象(这个对象代表整个函数内的内容,即弹出的内容)

调用fun()

举例:

		function a() {

            function b() {
                return "123"
            }
            alert(b())

        }
        var c = a();
        c();

弹出:

123

为什么?
因为fun()代表了这个函数的执行,这相当于是一种结果

不关上述的补充:

function fun(){};
调用fun() 和 function 的区别
fun就相当于函数对象 ;fun()就相当于一个方法,是一个结果
var a = fun()
把函数对象执行完的结果赋值给变量a
var a = fun
这里的变量a就变成了这个函数对象

JS作业第四周

直接上图先:
在这里插入图片描述
概括一下:

  • 1.var的变量都是全局变量,包括在代码块,除了函数的作用域可以阻挡外
  • 2.let的变量可以被代码块和函数作用域阻挡,跟正常的逻辑一样
发布了65 篇原创文章 · 获赞 1 · 访问量 1461

猜你喜欢

转载自blog.csdn.net/weixin_45097731/article/details/104945876