理解上有点小插曲,请问老师是不是这样呢?
来源:3-12 选择题
慕前端2064318
2019-10-15 18:36:50
fn(add)
是不是因为add没有调用(add仍然保留其函数的类型),所以是当成obj,在obj参数传递的时候,赋值成了xm?
接上条,是不是add传到FN的时候已经改写了这个function,之前的add(a,b),这个函数已经作废,此时的add已经不再是一个函数,而是一个对象。
接第二条,是不是程序运行结束以后 add已经变成对象?之前的add已经不再是一个函数?还是说add还是函数,只是本次运行以后是obj ,两者是分别独立存在的?
1回答
同学你好,根据同学的描述, 老师觉得你还是对这道题的理解上存在一些问题, 可以参考如下解答去理解
首先, 我们要去了解一个概念, 在js语言中, 函数也可以看做是一个对象,可以给函数添加属性和方法, 函数和对象这个没有严格的区分, 同学可以把它们都看作是引用类型的数据去理解哦,
然后, 可以将声明的函数看做是存放在堆内存中,函数名存放在栈内存中, 把函数名看做是一个指针指向堆内存中对应的函数。老师这里简单的给你画一个图帮助你理解。
这一块可能比较抽象,不好理解。 同学不要着急, 随着知识慢慢的积累,多练习思考会更容易理解。
不过, 画图肯定没有视频讲解的清晰。 同学如果还有疑惑。 可以回顾一下视频。 视频中老师都有详细的讲解哦, 可以边看视频边思考, 遇到不会的可以暂停视频想一想, 遇到想不明白的, 可以继续在问答区提问。 我们会继续为你解答的
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~
相似问题