>

对象学习笔记,object学习笔记

- 编辑:正版管家婆马报彩图 -

对象学习笔记,object学习笔记

构造函数 new Object()

Javascript Object 对象学习笔记,object学习笔记

构造函数 new Object()

new Object(value)

参数 value
    可选的参数,表明了要转换到Number对象、Boolean对象或String对象的原始值(即数字、布尔值或字符串)。JavaScript 1.1事先的本子和ECMAScript Vl不支持该对象。

返回值

  若无给构造函数字传送递value参数,那么它将赶回一个新创造的Object实例。要是钦命了原始的value参数,构造函数将创立并回到原始值的卷入对象,即Number对象、Boolean对象或 String对象。当不接纳new运算符,将Object()构造函数作为函数调用时,它的一言一行与运用new运算符时同样。

属性 constructor
对一个JavaScript函数的援引,该函数是指标的构造函数

方法

1.hasOwnProperty( )
自己评论对象是还是不是有部分定义的(非承袭的)、具有特定名字的习性。

复制代码 代码如下:

    <script type="text/javascript">
            var o = new Object();
            o.name="Tom";
            alert(o.hasOwnProperty("name"));    //true
            alert(o.hasOwnProperty("age"));    //false
        </script>

2.isPrototypeOf()

语法
object.isPrototypeOf(o)

参数
o
专擅对象。

返回值
假如object是O的原型,则赶回true。假使o不是指标,也许object不是o的原 型,则赶回false。

描述
JavaScript对象继承了原型对象的品质。三个对象的原型是通过用于创立并开首化该目的的构造函数的prototype属性引用的。isPrototypeOf()方法提供了判定三个对象是不是是另多少个指标原型的方式。该格局能够用于分明指标的 类。

示例

复制代码 代码如下:

var o = new Object(  );                          // 创制二个对象
Object.prototype.isPrototypeOf(o)                // true: o 是三个目的
Function.prototype.isPrototypeOf(o.toString);    // true: toString 是三个函数
Array.prototype.isPrototypeOf([1,2,3]);          // true: [1,2,3] 是三个数组
//下边是施行一样测验的另一种办法
(o.constructor == Object);  // true: o was created with Object(  ) constructor
(o.toString.constructor == Function);  // true: o.toString is a function
/原型则对象自己于原型对象。下边包车型客车调用再次来到true
//表明函数继 Function.prototype和Object.prototyp属性.
Object.prototype.isPrototypeOf(Function.prototype);

3.ProertyIsEnumerable()

语法
object.propertyIsEnumerable(propname)

参数
propname
叁个字符串,满含object原型的名字。

返回值
举个例子object具知名字为propname的非承袭属性,并且该属性是可枚举的(即用for/in循环可以枚举出它),则赶回true。

描述
用for/in语句能够遍历二个对象“可枚举”的性质。但实际不是—个目的的所有属性都以可枚举的,通过JavaScript代码增多到目的的本性是可枚举的,而里边对象的约定义属性(如方法)平时是比比皆是的。propertylsEnumerable()方法提供了界别可枚举属性和成千上万属性的艺术。但要注意,ECMAScript标准规定,propertyIsEnumerable()方法不质量评定原型链,那意味它只适用于对象的一些属性,不能够检查测验继续属性的可枚举性。

示例

复制代码 代码如下:

var o = new Object(  );                // 创设二个指标
o.x = 3.14;                            // 定义—个属性
o.propertyIsEnumerable("x");           // true属性x是部分的、可枚举的
o.propertyIsEnumerable("y");           //false:o未有属性y
o.propertyIsEnumerable("toString");    //false:toStrlng属性是继续的
Object.prototype.propertyIsEnumerable("toString");  // false: 枚举的

Bug

当正规定与限制制propertylsEnumerable()方法只好质量评定非承继属性时,分明是错的。 Internet Explorer 5.5按标准落实了该方法。Nestacpe 6.0实现的propertyIsEnumerable()方法挂念了原型链。即使这种措施可取,但它与专门的学业冲突,所以Netscape 6.1修改了它,以便与IE 5.5男才女貌。由于职业中有其一颠倒是非,因而该方法不是那么有用。

复制代码 代码如下:

<script>
 var obj = new Object();
     obj.title = 'aaa';
     obj.funb = function(a, b)
        {
         alert(a+b);
        }
    alert(obj.title);
    obj.funb(1,2);
</script>

那边一种艺术
******************************

复制代码 代码如下:

<script language="javascript">
function object(value,a,b){
        this.title = value;
        this.funb = function(){
                      this.a = a;
                      this.b = b;
                      alert(a+b);
                     }
                  }
   var obj = new object("aaa",1,2);
        alert(obj.title);
        obj.funb();
//这里为对象加多新的法门
object.prototype.name = "123456";
alert(obj.name);
</script>

那是另一种方法

Object 对象学习笔记,object学习笔记 构造函数 new Object() new Object(value) 参数 value 可选的参数,注明了要转移成Number对象、Boolean对...

new Object(value)

参数 value
    可选的参数,注解了要转变到Number对象、Boolean对象或String对象的原始值(即数字、布尔值或字符串)。JavaScript 1.1事先的版本和ECMAScript Vl不援救该目的。

返回值

  若无给构造函数字传送递value参数,那么它将回到三个新成立的Object实例。借使内定了原始的value参数,构造函数将成立并重回原始值的包裹对象,即Number对象、Boolean对象或 String对象。当不行使new运算符,将Object()构造函数作为函数调用时,它的一颦一笑与使用new运算符时一样。

属性 constructor
对一个JavaScript函数的援引,该函数是指标的构造函数

方法

1.hasOwnProperty( )
检核对象是还是不是有一对定义的(非继承的)、具备特定名字的质量。

复制代码 代码如下:

    <script type="text/javascript">
            var o = new Object();
            o.name="Tom";
            alert(o.hasOwnProperty("name"));    //true
            alert(o.hasOwnProperty("age"));    //false
        </script>

2.isPrototypeOf()

语法
object.isPrototypeOf(o)

参数
o
随机对象。

返回值
设若object是O的原型,则赶回true。如果o不是指标,或然object不是o的原 型,则赶回false。

描述
JavaScript对象承袭了原型对象的本性。三个对象的原型是透过用于成立并发轫化该目的的构造函数的prototype属性援用的。isPrototypeOf()方法提供了决断四个对象是或不是是另三个对象原型的法子。该办法能够用来鲜明指标的 类。

示例

复制代码 代码如下:

var o = new Object(  );                          // 创设叁个对象
Object.prototype.isPrototypeOf(o)                // true: o 是三个对象
Function.prototype.isPrototypeOf(o.toString);    // true: toString 是三个函数
Array.prototype.isPrototypeOf([1,2,3]);          // true: [1,2,3] 是四个数组
//上边是实践同一测验的另一种方式
(o.constructor == Object);  // true: o was created with Object(  ) constructor
(o.toString.constructor == Function);  // true: o.toString is a function
/原型则对象自笔者于原型对象。上边包车型地铁调用重返true
//表明函数继 Function.prototype和Object.prototyp属性.
Object.prototype.isPrototypeOf(Function.prototype);

3.ProertyIsEnumerable()

语法
object.propertyIsEnumerable(propname)

参数
propname
二个字符串,包罗object原型的名字。

返回值
固然object具盛名称为propname的非承接属性,而且该属性是可枚举的(即用for/in循环能够枚举出它),则赶回true。

描述
用for/in语句能够遍历二个对象“可枚举”的性质。但绝不—个指标的富有属性都以可枚举的,通过JavaScript代码增添到对象的性子是可枚举的,而里濒临象的预约义属性(如方法)平常是习以为常的。propertylsEnumerable()方法提供了不一样可枚举属性和数不胜数属性的办法。但要注意,ECMAScript规范规定,propertyIsEnumerable()方法不检查测试原型链,那代表它只适用于对象的有个别属性,不能够检验一而再属性的可枚举性。

示例

复制代码 代码如下:

var o = new Object(  );                // 创造二个目的
o.x = 3.14;                            // 定义—个属性
o.propertyIsEnumerable("x");           // true属性x是部分的、可枚举的
o.propertyIsEnumerable("y");           //false:o没有属性y
o.propertyIsEnumerable("toString");    //false:toStrlng属性是继续的
Object.prototype.propertyIsEnumerable("toString");  // false: 枚举的

Bug

当行业内部限定propertylsEnumerable()方法只好检查评定非继承属性时,明显是错的。 Internet Explorer 5.5按正统落到实处了该办法。Nestacpe 6.0贯彻的propertyIsEnumerable()方法思索了原型链。纵然这种方法可取,但它与正统争辩,所以Netscape 6.1修改了它,以便与IE 5.5相配。由于职业中有其一破绽百出,因而该办法不是那么有用。

复制代码 代码如下:

<script>
 var obj = new Object();
     obj.title = 'aaa';
     obj.funb = function(a, b)
        {
         alert(a+b);
        }
    alert(obj.title);
    obj.funb(1,2);
</script>

此间一种方式
******************************

复制代码 代码如下:

<script language="javascript">
function object(value,a,b){
        this.title = value;
        this.funb = function(){
                      this.a = a;
                      this.b = b;
                      alert(a+b);
                     }
                  }
   var obj = new object("aaa",1,2);
        alert(obj.title);
        obj.funb();
//这里为目的加多新的情势
object.prototype.name = "123456";
alert(obj.name);
</script>

那是另一种办法

您大概感兴趣的稿子:

  • Javascript 面向对象 对象(Object)
  • 关于Javascript 对象(object)的prototype
  • JavaScript成立二个object对象并操作对象属性的用法
  • 一种新的javascript对象创制格局Object.create()
  • 详解Javascript中的Object对象

本文由计算机操作发布,转载请注明来源:对象学习笔记,object学习笔记