• JavaScript中Object类型的定义


    原文地址:JavaScript中Object类型的定义——一直在路上

    ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和(或)方法,就可以创建自定义对象,如下所示:

    var o = new Object();
    

    这个语法与Java中创建对象的语法相似;但在ECMAScript中,如果不给构造函数传递参数,则可以省略后面的那一对圆括号。也就是说,在像前面这个示例一样不传递参数的情况下,完全可以省略那对圆括号(但这不是推荐的做法):

    var o = new Object; // 有效,但不推荐省略圆括号
    

    仅仅创建Object的实例并没有什么用处,但关键是要理解一个重要的思想:既在ECMAScript中,(就像Java中的java.lang.Object对象一样)Object类型是所有它的实例的基础。换句话说,Object类型所具有的任何属性和方法也同样存在于更具体的对象中。

    Object的每个实例都具有下列属性和方法。

    • Constructor:保存着用于创建当前对象的函数。对于前面的例子而言,构造函数(constructor)就是Object( )。
    • hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty(“name”))。
    • isPropertyOf(object):用于检查传入的对象是否是另一个对象的原型。
    • propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。与hasOwnProperty( )方法一样,作为参数的属性名必须以字符串形式指定。
    • toLocaleString( ):返回对象的字符串表示,该字符串与执行环境的地区对应。
    • toString( ):返回对象的字符串表示。
    • valueOf( ):返回对象的字符串、数值或布尔值表示。通常与toString( )方法的返回值相同。

    由于在ECMAScript中Object是所有对象的基础,因此所有对象都具有这些基本的属性和方法。

    从技术角度讲,ECMA-262中对象的行为不一定适用于JavaScript中的其他对象。浏览器环境中的对象,比如BOM和DOM中的对象,都属于宿主对象,因为它们是由宿主实现提供和定义的。ECMA-262不负责定义宿主对象,因此宿主对象可能会也可能不会继承Object。

  • 相关阅读:
    C语言I博客作业11
    第十四周助教总结
    C语言I博客作业10
    Tensorflow--MNIST简单全连接层分类
    记一些好看的Android开源菜单
    AS更新到3.5.2遇到ERROR: SSL peer shut down incorrectly问题
    Tensorflow tf.app.flags 的使用
    Android Sensor(传感器)
    《第一行代码》百分比布局出现的问题
    当Turtle遇见柯南?
  • 原文地址:https://www.cnblogs.com/shenhuanjie/p/13534314.html
Copyright © 2020-2023  润新知