zoukankan      html  css  js  c++  java
  • 20080911 奇怪的 Javascript 对象

    最近着迷 Javascript 中的对象,回顾以往项目时,记得用到C#里的Dictionary<T, T>时,利用 Microsoft ASP.NET AJAX Client 技术,可以将Dictionary<T, T>直接转为Javascript对象使用,今天突然想到,当Dictionary中的键是int类型时,返回到页面的Javascript对象会是怎样的?这个试验还没来得及做。

    在Javascript中,可以利用JSON格式来定义对象,比如

    var obj = {
        
    1"重启",
        
    2"关机",
        
    3"开机"
    }

    alert(obj[
    2]); // 这句会正常执行
    alert(obj.2);  // 这句会报错

    我们可以看到,对象名虽然有[_$a-zA-Z][_$a-zA-Z0-9]*的限制,但对于此obj[2],可以正常输出"关机",甚至,我们发现 

    var obj2 = {
        
    1"重启",
        
    2"关机",
        
    3"开机",
        
    "!""奇怪的Javascript!" 
    }

    alert(obj2["!"]);


    上述也能正常执行。

    以前一直以为obj[property] === obj.property,看来错了。
    obj.property的写法,仅仅当property为[_$a-zA-Z][_$a-zA-Z0-9]*时才成立。

    而用obj[property]的写法,几乎可以支持任意符号。

    遇到这点奇怪的,发上来,看看大家是否还可以挖掘一下。

  • 相关阅读:
    列表
    CENTOS安装xwindow
    查看LINUX系统的配置
    LINUX开启SAMBA服务
    oracle linux 7 yum报错解决:COULD NOT RESOLVE HOST: YUM.ORACLE.COM
    ORACLE百分比分析函数RATIO_TO_REPORT() OVER()
    用matlab计算线性回归问题
    OL7.6上RPM方式安装Oracle 19c
    使用vnc远程操控Centos7.6
    OPATCH在线补丁
  • 原文地址:https://www.cnblogs.com/likun/p/1289456.html
Copyright © 2011-2022 走看看