首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么在控制台记录一个函数时返回"function“而不是”function“?

为什么在控制台记录一个函数时返回"function“而不是”function“?
EN

Stack Overflow用户
提问于 2021-11-08 21:46:34
回答 1查看 44关注 0票数 0

我有一个对象"person1“,其中有一个方法”注册“==>

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      function Person(first, last, age, gender) {
        this.enroll = function abc() {
            console.log("hello world")
        }
        // property and method definitions
        this.name = {
          first: first,
          last: last,
        };
        this.age = age;
        this.gender = gender;
        //...see link in summary above for full definition
      }

      let person1 = new Person('Bob', 'Smith', 32, 'male', ['music', 'skiing']);

      console.log(person1);

我的问题是为什么在console.log(person1.enroll)上返回function body or function definition(ƒ abc() {console.log("hello world")}),为什么不像这个=>那样返回整个函数对象?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ƒ abc()
    arguments: null
    caller: null
    length: 0
    name: "abc"
    prototype: {constructor: ƒ}
    [[FunctionLocation]]: oop2.html:12
    [[Prototype]]: ƒ ()
    [[Scopes]]: Scopes[2]

为什么我要做console.dir(person1.enroll)才能看到enroll函数对象的所有属性和方法。为什么console.log(person1.enroll)不允许访问注册函数中的所有方法和属性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-08 21:55:30

为什么log生成它所做的,而dir产生它所做的事情,答案是它们是出于特定的原因编写的。根据文献资料

log背后的意图是“用于日志信息的一般输出”,而dir背后的意图是“显示指定JavaScript对象的属性的交互式列表。这个列表允许您使用公开三角形来检查子对象的内容。”

因此,log并没有给出所有的属性、方法和其他信息。log只是用于“一般日志记录”,以给您一些有关对象的提示。我们有dir作为输出所有东西的明确目的。换句话说,log没有给出详细的描述,因为控制台对象的设计人员选择将这些信息放在dir中。

(设计人员本可以选择使用log输出更多的内容,但他们希望为dir保留更强大的功能。此外,您可能熟悉out控制台,点日志记录通用对象给出了通常无用的[object Object],因此,记录函数也没有给出完整的细节,这并不奇怪。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69893352

复制
相关文章
[C语言]函数(function)
维基百科中,对函数的定义是子程序。在计算机科学中,子程序是一个大型程序中的某部分代码,由一个或多个语句块组成,它负责完成某项特定任务,而且,相较于其他代码,具备相对的独立性,C语言是由函数组成的,我们写的代码都是由主函数 main()开始执行的。函数是C语言程序段基本模块,是用于完成任务的程序代码单元。
IT编程爱好者
2023/04/12
2.3K0
[C语言]函数(function)
Function函数
前面我们说过Sub过程,VBA还有一种Function函数,语言规则与Sub差不多:
xyj
2020/07/28
1.2K1
python Function(函数)
函数是python为了代码最大程度地重用和最小化代码冗余而提供的基本程序结构。函数是一种设计工具,它能让程序员将复杂的系统分解为可管理的部件; 函数用于将相关功能打包并参数化。 在python中可以创建如下4种函数:     1)、全局函数:定义在模块中(直接定义在模块中的函数)。     2)、局部函数:嵌套于其它函数中(在函数中再定义的函数)。     3)、lambda函数:表达式。匿名函数(它仅是一个表达式),它可以出现在任何位置,很高的录活性。     4)、方法:与特定数据类型关联的函数,并且只能与数据类型相关一起使用。定义在类中的函数。    python也提供了很多内置函数 函数与过程的区别:     函数都有return返回值。返回一个对象 创建函数     def functionName(parameters):         suite 相关概念:     def 是一个可执行语句;因此可以出现在任何能够使用的地方,甚至可以嵌套于其它语句,例if或while中。def创建了一个对象  并将其赋值给一个变量名(即函数名);     return用于返回结果对象,其为可选项;无return语句的函数自动返回一个None对象;返回多个值时,彼此间使用逗号分隔,且组合为元组形式返回一个对象。     def语句运行之后,可以在程序中通过函数名后附加括号进行调用 。     例1:
py3study
2020/01/13
7760
Go基础——function函数
我们以写一个计算商品价格的函数为例,输入参数是单件商品的价格和商品的个数,两者的乘积为商品总价,作为函数的输出值。
羊羽shine
2019/05/28
6590
ABAP 常用函数Function
matinal
2023/10/13
3580
代价函数 cost function
在监督学习的回归问题中,代价函数就是用于找到最优解的目的函数,反应了预测函数的准确性。代价函数的值越小,说明在回归问题的中,计算机程序对数据拟合的越好。也就是假设函数越正确。
全栈程序员站长
2022/09/06
4530
代价函数 cost function
[MachineLearning] 激活函数Activation Function
神经网络中激活函数的主要作用是提供网络的非线性建模能力,如不特别说明,激活函数一般而言是非线性函数。假设一个示例神经网络中仅包含线性卷积和全连接运算,那么该网络仅能够表达线性映射,即便增加网络的深度也依旧还是线性映射,难以有效建模实际环境中非线性分布的数据。加入(非线性)激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。因此,激活函数是深度神经网络中不可或缺的部分。
wOw
2018/09/18
1.1K0
[MachineLearning] 激活函数Activation Function
Oracle 函数 Function 解析
     函数用于计算和返回一个结果值,把经常需要进行的计算写成函数,函数的调用是表达式的一部分。      函数与过程在创建的形式上有些相似,也是编译后放在内存中供用户使用。      函数必须有一个返回值,而过程没有做强制的规定。      RETURN在声明部分需要定义一个返回参数的类型,而在函数体中必须有一个RETURN语句。如果函数结束时还没有遇到返回语句,就会发生错误。
星哥玩云
2022/08/16
4830
Python学习:函数(function
从上面两个例子中看到,times函数中表达式x*y的意义完全取决于x和y的对象类型,同样的函数,在一个实例下执行的是乘法,在另一个实例中执行的却是赋值。Python将对某一对象在某种语法下的合理×××由对象自身判断。这种依赖类型的行为称为多态。
py3study
2020/01/15
5300
js 函数function用法
javascript 函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。在继续讲述之前,先看一下函数的使用语法:
阳光岛主
2019/02/19
4.8K0
logistic 函数(logistic function)sigmoid函数
今天看SVM(支持向量机),开始先引入了logistic函数,虽然给出了一公式,但好奇logistic函数啥东东啊,为啥叫logistic呢,搜索ing。 说简单些,logistic函数其实就是这样一个函数: P(t) = \frac{1}{1 + e^{-t}} 非常简单吧,这个函数的曲线如下所示:、
全栈程序员站长
2022/11/15
5770
logistic 函数(logistic function)sigmoid函数
为什么 useState 返回的是 array 而不是 object?
这里可以看到 useState 返回的是一个数组,那么为什么是返回数组而不是返回对象呢?我们在自定义 hook 时应该返回什么类型呢?
小鑫
2022/04/26
2.3K0
Java 8 Function 函数接口
在 Java 8 中,Function 接口是一个函数接口,它位于包 java.util.function 下。Function 接口中定义了一个 R apply(T t) 方法,它可以接受一个泛型 T 对象,返回一个泛型 R 对象,即参数类型和返回类型可以不同。
未读代码
2021/08/12
7200
009. golang 函数 function
函数function Go 函数 不支持 嵌套、重载和默认参数 但支持以下特性: 无需声明原型、不定长度变参、多返回值、命名返回值参数 匿名函数、闭包 定义函数使用关键字 func,且左大括号不能另起一行 函数也可以作为一种类型使用 ---- package main import ( "fmt" ) func main() { fmt.Println(A(1, "a")) fmt.Println(B(2, "b")) a, b, c := 1, 2, 3
qubianzhong
2018/08/15
2050
sigmoid function和softmax function
「学习内容总结自 couesera 和 udacity 的深度学习课程,部分截图来自 coursera 的课件」
caoqi95
2019/03/27
2.1K0
sigmoid function和softmax function
函数(function)的前世今生
函数就是一段可以反复调用的代码块。函数还能接受输入的参数,不同的参数会返回不同的值。
江米小枣
2020/06/16
7080
函数(function)的前世今生
function*/生成器函数
function*语句允许你声明一个生成器函数,这种函数的返回值是一个Generator对象,它允许你控制函数的暂停、继续执行。这种同步操作允许我们使用JavaScript的异步编程——function*每次只返回一个特殊的指针,并不直接真正地返回值,因此function*内外的代码可以同时执行。
gojam
2019/05/14
2.3K0
$(function(){})和$(document).ready(function(){})
这个就是jq ready()的方法就是Dom Ready,他的作用或者意义就是:在DOM加载完成后就可以可以对DOM进行操作。
用户7657330
2020/08/14
1.6K0
matlab 怎么使用function,Matlab中function函数使用操作方法
亲们或许不知道Matlab中function函数如何使用,那么今天小编就讲解Matlab中function函数使用操作方法哦,希望能够帮助到大家呢。
全栈程序员站长
2022/11/16
1.2K0
matlab 怎么使用function,Matlab中function函数使用操作方法
window.onload 、$(function()function())、;(function(){}());的执行顺序(初)
window.onload 、$(function()function())、;(function(){}());三个的执行顺序:
White feathe
2021/12/08
3.6K0
window.onload 、$(function()function())、;(function(){}());的执行顺序(初)

相似问题

为什么使用数组($this,'function')而不是$this->function()

15

为什么使用('function‘=== === x)而不是(typeof x 'function')

40

等待返回[Function]而不是value

10

为什么我的函数返回" function“而不是一个整型结果?

12

“function”作为函数而不是宏

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文