Javascript Object 对象学习笔记


Posted in Javascript onDecember 17, 2014

构造函数
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 相关文章推荐
js中cookie的使用详细分析
May 28 Javascript
js 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
Oct 17 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
Jun 05 Javascript
浅析Javascript匿名函数与自执行函数
Feb 06 Javascript
jQuery插件简单学习实例教程
Jul 01 Javascript
JS控制TreeView的结点选择
Nov 11 Javascript
node+express框架中连接使用mysql(经验总结)
Nov 10 Javascript
Vue实现搜索结果高亮显示关键字
May 28 Javascript
JavaScript实现模态对话框实例
Jan 13 Javascript
基于JavaScript实现贪吃蛇游戏
Mar 16 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
May 26 Javascript
node.js中的fs.read方法使用说明
Dec 17 #Javascript
node.js中的fs.mkdirSync方法使用说明
Dec 17 #Javascript
node.js中的fs.mkdir方法使用说明
Dec 17 #Javascript
使用FlexiGrid实现Extjs表格效果方法分享
Dec 16 #Javascript
jQuery+css实现百度百科的页面导航效果
Dec 16 #Javascript
jQuery+PHP打造滑动开关效果
Dec 16 #Javascript
javascript进行四舍五入方法汇总
Dec 16 #Javascript
You might like
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
PHPEXCEL 使用小记
2013/01/06 PHP
解析:使用php mongodb扩展时 需要注意的事项
2013/06/18 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
简单谈谈json跨域
2016/03/13 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
JavaScript变量作用域_动力节点Java学院整理
2017/06/27 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
微信浏览器左上角返回按钮监听的实现
2020/03/04 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
python调用新浪微博API项目实践
2014/07/28 Python
列举Python中吸引人的一些特性
2015/04/09 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
python 实现IP子网计算
2021/02/18 Python
校企合作协议书
2014/04/16 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
小学生交通安全寄语
2015/02/27 职场文书
作弊检讨书范文
2015/05/06 职场文书