javascript所有对象都继承自Object类。以下是Object类的一些属性。原型对象

的一些属性。

1、constructor属性
从javascript1.1开始,每个对象都有这个属性,它指向用来初始化改对象的构造

函数

< SCRIPT LANGUAGE = " JavaScript " >
<!--
function  Person() {}
var  o = new  Person();

alert( typeof (Person.constructor));
alert(o.constructor);
alert(Person.constructor);
alert(Function.constructor);
alert(Object.constructor)

alert( new  Date().constructor);
alert(Date.constructor);


function  Man() {

}
Man.prototype = new  Person();
alert(Man.constructor);
o = new  Man();
alert(o.constructor)
Man.prototype.constructor = Man;
alert(o.constructor)
// -->
</ SCRIPT >

如以上代码,可以知道
a、constructor的类型是函数;
b、javascript内部实现了很多函数,如Object,Date都是函数由Function得到的


c、用原型对象实现的继承中,也要设置子类的constructor。如果你的程序中用

到了constructor,可能会出错。
2、toString()方法
相当于java Object类中toString方法。你alert()  + 等操作中就会调用这个方

法。 var s='1'+'2',会自动把'1'  '2'  转化成String对象在执行。

但数组定义自己的toString方法。alert(Array.prototype.toString)

如果对象或子类要调用父类的方法可以

< SCRIPT LANGUAGE = " JavaScript " >
<!--
alert([ 1 , 2 , 3 ].toLocalString())
alert(Object.prototype.toString.apply([ 1 , 2 , 3 ]));
// -->
</ SCRIPT >

3、toLocalString()方法
ECMAScript v3 javascript1.5中定义了这个方法。返回局部化的值。偶还不知道

什么用法。
4、valueof()
当javascript与要将一个对象转化成字符串之外的原始类型时调用它。

5、hasOwnProperty()方法
《javascript权威指南》说如果是非继承的属性返回true.但下列代码反映,它检

验对象的实例属性。对原型属性不会返回。

< SCRIPT LANGUAGE = " JavaScript " >
<!--
function  Person(name) {
     this .name = name;
}
Person.prototype.setAge = function (age) {
     this .age = age;
}
Person.prototype.toString = function () {
     return  'name:' + this .name + ' age:' + this .age;
}
var  o = new  Person('zkj');
o.setAge( 25 );
alert(o)
alert(o.hasOwnProperty( " name " ));
alert(o.hasOwnProperty( " age " ));
alert(o.hasOwnProperty( " setAge " ));
alert(o.hasOwnProperty( " toString " ));

alert(Person.prototype.hasOwnProperty( " setAge " ));
// -->
</ SCRIPT >

6、propertyIsEnumerable
《javascript权威指南》如果用能 for( in )枚举的属性,这个方法返回true;
以下代码说明《javascript权威指南》是错的。自己定义的原型对象属性可以枚

举,但返回false

< SCRIPT LANGUAGE = " JavaScript " >
<!--
function  Person(name) {
     this .name = name;
}
Person.prototype.setAge = function (age) {
     this .age = age;
}
Person.prototype.toString = function () {
     return  'name:' + this .name + ' age:' + this .age;
}
var  o = new  Person('zkj');
o.setAge( 25 );
alert(o.propertyIsEnumerable('setAge'));
var  desc = '';
for ( var  key  in  o) {
    desc += key + '  ';
     if (o.hasOwnProperty(key)) {
        desc += ' 是实例对象 ';
 } else {
        desc += ' 不是实例对象 ';
 }
  if (o.propertyIsEnumerable(key)) {
        desc += ' 能被枚举 ';
 } else {
        desc += ' 不能被枚举 ';
 }

 desc += '/r/n';
}
alert(desc);

// -->
</ SCRIPT >

7、isPrototypeOf方法
《javascript权威指南》如果调用对象是实际参数指定的对象的原型对象返回

true. 看代码吧。
居然alert(Object.prototype.isPrototypeOf(Person));//true也是true.搞不懂

< SCRIPT LANGUAGE = " JavaScript " >
<!--
function  Person(name) {
     this .name = name;
}
Person.prototype.setAge = function (age) {
     this .age = age;
}
Person.prototype.toString = function () {
     return  'name:' + this .name + ' age:' + this .age;
}
var  o = new  Person('zkj');
o.setAge( 25 );
alert(Person.prototype.isPrototypeOf(o)); // true
alert(Person.isPrototypeOf(o)); // false
alert(o.isPrototypeOf(Person.prototype)); // false
alert(Function.prototype.isPrototypeOf(Person)); // true
alert(Object.prototype.isPrototypeOf(Person)); // true
// -->
</ SCRIPT >

8、总结
看《javascript权威指南》前,就知道toString方法。现在知道了些其他的方法

,但让我更加混乱,《javascript权威指南》讲的也有错误。开发中建议大家除

了toString,其他属性方法不要覆盖也不要使用了。除了对这些方法十分清楚。就

我知道的javascript开源框架中好象没用到这些。

javascript中Object类原型对象的属性和方法相关推荐

  1. JavaScript 中 Object ,Prototype 相关的属性和方法

    1.Objuect 类型 Object 类型是所有对象的基类型,可以用 new 运算符产生一个 Object 类型. 开发者可以通过产生 Object 类型的实例并向其动态添加属性和方法来产生自己需要 ...

  2. 深入理解Javascript中构造函数和原型对象的区别

    在 Javascript中prototype属性的详解 这篇文章中,详细介绍了构造函数的缺点以及原型(prototype),原型链(prototype chain),构造函数(constructor) ...

  3. 高阶Day1:面向对象,面向过程,类和对象的属性和方法创建

    高阶Day1:面向对象,面向过程,类和对象的属性和方法创建 高级编程学习4个内容: 面向对象 MySQL数据库 网络编程 并发编程 面向过程(POP)与面向对象(OOP): 类和对象: 类名的定义: ...

  4. javascript中的prototype原型、_proto_属性、原型链

    prototype原型 JavaScript是面向对象的语言,那么继承自然是其重要特征之一.与标准面向对象语言不同,JavaScript继承主要通过prototype原型实现.每一个函数都具有prot ...

  5. 类和对象,属性和方法

    1. 定义 类:把某一类事物的属性提取出来,形成类,类有属性(也叫成员变量/field字段)和行为 对象:一个具体的实例 注意:从类到对象的说法:1)创建一个对象2)实例化一个对象3)把类实例化 成员 ...

  6. JavaScript 中BOM及window的相关属性及方法

    概述:BOM (全称bowser object model) 浏览器对象模型,他是用于操作浏览器相关的内容.BOM是一个缺乏规范的东西,为了保证他的规范性产生了一系列的共用对象来解决这个问题.沿用至今 ...

  7. [置顶] 深入浅出Javascript(三)创建自定义对象以及属性、方法

    怎么样创建一个对象? 利用Object创建自定义对象 JavaScript能够自定义对象来扩展程序的功能,不仅如此,它还能扩展JavaScript提供的内置对象,新增内置对象的属性或方法 例如下面代码 ...

  8. JavaScript学习笔记之原型对象

    本文是学习<JavaScript高级程序设计>第六章的笔记. JS中,便于批量创建对象的三种模式: 1.工厂模式:用一个函数封装创建对象的细节,传入必要的参数,在函数内部new一个对象并返 ...

  9. Javascript基础与面向对象基础~第四讲 Javascript中的类对象

    今天来说JS中如何实现类(class),事实上本应该昨天晚上写的,可我失言了,在些说一声"抱歉"!JS中的类是JS面向对象的基础,也是我最拿手的东西,你写的代码能否提高一个层次,一 ...

  10. JavaScript中Object对象方法超详细讲解举例说明仅此一篇

    JavaScript中Object对象方法超详细讲解举例说明仅此一篇 Object.assign() Object.create() Object.values() Object.entries() ...

最新文章

  1. 小程序这件事 撸起袖子加油干
  2. 用MySQL数据库来支持Schemaless的数据库存储方案
  3. careercup-树与图 4.9
  4. mysql 8.0 自定义函数_PHP+Mysql防止SQL注入的方法(life)
  5. mysql innodb 并发 插入 慢_Innodb 锁机制——一次插入慢查询的排查
  6. 判断三角形java代码_java基础编程题之异常处理
  7. SAP Spartacus shipping address页面请求2 - Put Address
  8. Python3 实现单例设计模式
  9. 输出第二个整数(信息学奥赛一本通-T1002)
  10. postgresql存图片字段类型_C# 使用 PostgreSQL 存储图片二进制数据
  11. 存用部首查字典如何查_文献阅读技巧:牛人博士如何看文献!
  12. 推荐系统:基于内容的推荐
  13. mongodb常用命令脚本化-自动化运维
  14. html中a做成按钮,css如何将超链接a设计成按钮样式
  15. php 腾讯云 短信验证码发送
  16. 程序员高考试卷泄密,检查一下你能答对多少题?
  17. 洛谷P2006 赵神牛的游戏
  18. 某网赚游戏sign解密
  19. 个人网站备案的全流程关于阿里云
  20. Redhat7.4 同步阿里云镜像rpm包并自建本地yum仓库

热门文章

  1. 提高excel生产力_1.提高员工生产力和工作满意度
  2. bytes和string 与 “w“/“r“ “wb“/“rb“的对应关系
  3. Sublime Text:安装插件、卸载插件
  4. python:查看函数方法的具体信息、参数等
  5. 多路抢答器c语言编程,多路抢答器的设计
  6. 用php实现拍照,php中实现视频拍照
  7. html标签asp/,HTML标签及ASP函数速查表
  8. 时光 php,ctphp-php教程-时光划过那刹那-PHP教程--创业的风,吹向了年轻之长藤个人博客网站...
  9. java 去掉字符串最后几个字符_java-删除字符串的最后两个字符
  10. refprop用matlab,Matlab 调用 REFPROP(64位)下载即可用