【问题标题】:How do you read dot notation in JavaScript?你如何阅读 JavaScript 中的点符号?
【发布时间】:2008-12-20 03:58:35
【问题描述】:

举个例子,是不是这样的说法

window.Number.constructor.prototype.constructor();

像路径一样阅读?

C:\Users\Vista\Documents\Work\text.txt

从左到右

window:\Number\constructor\prototype\constructor()

其中window 是根对象,Numberwindow 内部的一个对象,constructorNumber 内部的一个对象,prototypeconstructor 内部的一个对象,constructor() 是一个prototype内的对象?

就像在这个声明中一样

window.document.myForm.textBox.value;

等于

[object].[object].[object].[object].1

这些对象实际上没有相互作用?

实际值是从右到左读取的,其中每个对象直接作用于它左侧的对象吗?

在哪里

window.Number.constructor.prototype.constructor();

等于

[object] . function Number() { [native code] } . function Function() { [native code] } . function prototype() { [native code] } . function anonymous() { }

作为

window.Number(9.256).toFixed(2);

等于

[object].(9.256).(9.26);

其中toFixed 是使用Number 对象的返回值的属性,结果存储为window 对象的属性?

您可能会说,我有点纠结在这里 :) 只是难以理解点的概念。我确信 Java 的背景会有所帮助,但不幸的是,我还没有(目前)。

【问题讨论】:

  • 你有什么背景?
  • Javascript 和 java 没有任何关系。在添加到 Netscape 浏览器之前,它被称为 livescript,与添加 java 的时间差不多。 en.wikipedia.org/wiki/JavaScript 看看查理·马丁对你问题的回答。祝你好运!
  • Joe,我的背景主要是网页设计,但我希望在不久的将来更多地从事开发人员的工作。一些,谢谢你的提示!

标签: javascript notation


【解决方案1】:

从左到右阅读。每个“事物”都解析为一个对象。对象可以具有属性或功能。属性是另一个对象,它又可以有自己的属性和功能。如果它是一个函数,那么要成为合法的语法,该函数必须返回一个对象。那么右边的链接项必须是该对象的属性(或函数)。

像 jQuery 这样的框架通过让每个方法返回自身的副本来工作,以便方法可以链接在一起。

在您的第一个示例中,它指的是一系列对象属性,除了最后一个是函数。在第二个中,它调用窗口对象上的一个函数,该函数返回一个具有 toFixed() 函数的 Number 对象。

【讨论】:

    【解决方案2】:

    是的,或者就像 C 中 struct 中的一个字段。它实际上是一堆哈希表或字典。所以你的例子

    window.Number.constructor.prototype.constructor()
    

    是“窗口对象,一个名为'Number'的项目,其中包含一个名为'constructor'的项目,其中包含一个名为'prototype'的项目---这是命名方法的地方---其中包含一个方法命名构造函数。”最后的() 表示“并将其视为没有参数的函数。”

    【讨论】:

      【解决方案3】:

      从左到右。

      【讨论】:

        猜你喜欢
        • 2013-07-11
        • 1970-01-01
        • 1970-01-01
        • 2018-04-25
        • 2010-12-02
        • 1970-01-01
        • 1970-01-01
        • 2010-09-10
        • 2017-09-12
        相关资源
        最近更新 更多