Javascript Object 对象学习笔记

 更新时间:2014年12月17日 08:55:40   投稿:hebedich  
这篇文章主要介绍了Javascript 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>

这是另一种方法

相关文章

  • JavaScript中switch语句的用法详解

    JavaScript中switch语句的用法详解

    这篇文章主要介绍了JavaScript中switch语句的用法详解,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • javascript与java有什么关系(区别与相似)

    javascript与java有什么关系(区别与相似)

    Java和JavaScript的编程语言,名称听起来相似,但却是两个公司开发的不同的产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,可以嵌入Web页面中的基于对象和事件驱动的解释性语言。
    2023-02-02
  • 淘宝网提供的国内NPM镜像简介和使用方法

    淘宝网提供的国内NPM镜像简介和使用方法

    我们以前介绍过cnpmjs.org,非常棒的npm国内镜像。由于其使用量越来越大,加上淘宝内部也有很多项目使用 NodeJS,于是,淘宝正式基于 cnpmjs 推出了镜像服务
    2014-04-04
  • JavaScript中的分号插入机制详细介绍

    JavaScript中的分号插入机制详细介绍

    这篇文章主要介绍了JavaScript中的分号插入机制详细介绍,本文讲解JavaScript中各种情况下的分号插入机制,需要的朋友可以参考下
    2015-02-02
  • JavaScript window.setTimeout() 的详细用法

    JavaScript window.setTimeout() 的详细用法

    JavaScript window.setTimeout() 的详细用法,需要的朋友可以参考下。
    2009-11-11
  • JS中min函数实例讲解

    JS中min函数实例讲解

    在本文里我们给大家分享了关于JS中min函数的实例用法以及相关知识点,需要的朋友们学习下。
    2019-02-02
  • 学习JavaScript的最佳方法分享

    学习JavaScript的最佳方法分享

    你为学习JavaScript 制定的蓝图、路线、行动计划!你不必担心找不到最好的资源,先整理些不好的资源,再确定下一步该学什么。遵循它,一步一步来
    2011-10-10
  • 详细解读JavaScript编程中的Promise使用

    详细解读JavaScript编程中的Promise使用

    这篇文章主要介绍了详细解读JavaScript编程中的Promise使用,是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-07-07
  • 详解Bootstrap 学习(一)入门

    详解Bootstrap 学习(一)入门

    这篇文章主要介绍了Bootstrap入门学习,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • js变量提升深入理解

    js变量提升深入理解

    下面小编就为大家带来一篇js变量提升深入理解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09

最新评论