Javascript中的变量声明方法

发布于 2024-12-26 22:13:03 字数 634 浏览 2 评论 0原文

我在网站上看到过以下代码... 这是什么意思?我可以以变量名:值而不是变量名=值的格式声明变量吗?


     if (!window.Node){
       var Node =
      {
        ELEMENT_NODE                :  1,
        ATTRIBUTE_NODE              :  2,
        TEXT_NODE                   :  3,
        CDATA_SECTION_NODE          :  4,
        ENTITY_REFERENCE_NODE       :  5,
        ENTITY_NODE                 :  6,
        PROCESSING_INSTRUCTION_NODE :  7,
        COMMENT_NODE                :  8,
        DOCUMENT_NODE               :  9,
        DOCUMENT_TYPE_NODE          : 10,
        DOCUMENT_FRAGMENT_NODE      : 11,
        NOTATION_NODE               : 12
    };
}

I have seen the following code in a website...
what does this mean?.Can i declare variables in the format variableName : value instead of variableName = value.



     if (!window.Node){
       var Node =
      {
        ELEMENT_NODE                :  1,
        ATTRIBUTE_NODE              :  2,
        TEXT_NODE                   :  3,
        CDATA_SECTION_NODE          :  4,
        ENTITY_REFERENCE_NODE       :  5,
        ENTITY_NODE                 :  6,
        PROCESSING_INSTRUCTION_NODE :  7,
        COMMENT_NODE                :  8,
        DOCUMENT_NODE               :  9,
        DOCUMENT_TYPE_NODE          : 10,
        DOCUMENT_FRAGMENT_NODE      : 11,
        NOTATION_NODE               : 12
    };
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

放赐 2025-01-02 22:13:03

这些是对象文字中的对象属性。

空对象垃圾:

var obj = {};

使用属性:

var obj = {
    foo: "bar",
    test: 123
};

然后您可以通过以下方式访问属性:

alert(obj.foo);

请注意,此表示法仅适用于对象垃圾内部。如果您想从外部设置属性,也可以使用点符号:

obj.foo = "hi";

Those are object properties in an object litteral.

Empty object litteral:

var obj = {};

With properties:

var obj = {
    foo: "bar",
    test: 123
};

You can then access properties this way:

alert(obj.foo);

Note that this notation only works inside of object litterals. If you want to set a property from outside, also use the dot notation:

obj.foo = "hi";
对你的占有欲 2025-01-02 22:13:03

它是一个对象文字。

跟着一些教程,你会明白更多..
这是一个小教程

http://www.dyn-web.com/tutorials/obj_lit.php

its an Object Literal.

Follow some tutorials,you'll understand more..
Here's a small tutorial

http://www.dyn-web.com/tutorials/obj_lit.php

可是我不能没有你 2025-01-02 22:13:03

variableName: value 格式用于静态声明对象的 javascript 属性。在您的示例中,Node 是一个新对象,他们为其声明了 12 个属性。您也可以对属性声明执行此操作,但属性声明与变量声明并不完全相同。

这段代码的意思是:“如果 window.Node 尚不存在,则将其声明为具有这 12 个属性的对象”。

然后可以像这样访问它:

Node.ELEMENT_NODE == 1

此代码的实际目的是确保这些节点值在给定的 Web 应用程序中声明一次且仅一次,以便相关代码可以使用有意义的符号名称来使用它们,而不仅仅是比较到一个数字。

The variableName: value format is what is used to statically declare javascript properties of an object. In your example, Node is a new object and they are declaring 12 properties for it. You can do that too for property declarations, but property declarations are not exactly the same thing as a variable declaration.

What this code means is: "if window.Node doesn't already exist, then declare it as an object with these 12 properties".

It can then be accessed like this:

Node.ELEMENT_NODE == 1

The actual purpose of this code is to make sure that these node values are declared once and only once in a given web app so that they can be used by relevant code using meaningful symbol names rather than just comparing to a number.

娜些时光,永不杰束 2025-01-02 22:13:03

该行:

if (!window.Node){

意思是,如果 Node 变量尚不存在,则执行以下操作:

Node 被初始化为 对象文字(基本上是一个哈希表)。例如:

Node['ENTITY_NODE'] 等于 6。

这也可以表示为 Node.ENTITY_NODE

The line:

if (!window.Node){

Means, if the Node variable doesn't yet exist, then do the following:

Node is initialized to an object literal (basically a hash table). For example:

Node['ENTITY_NODE'] is equal to 6.

This can also be expressed as Node.ENTITY_NODE as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文