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 相关文章推荐
深入认识JavaScript中的函数
Jan 22 Javascript
用JavaScript隐藏控件的方法
Sep 21 Javascript
jQuery统计上传文件大小的方法
Jan 24 Javascript
jQuery UI插件自定义confirm确认框的方法
Mar 20 Javascript
jquery采用oop模式class类的使用示例
Jan 22 Javascript
基于JavaScript实现点击页面任何位置返回
Aug 31 Javascript
zTree实现节点修改的实时刷新功能
Mar 20 Javascript
详解jquery选择器的原理
Aug 01 jQuery
教你用Cordova打包Vue项目的方法
Oct 17 Javascript
基于Bootstrap实现城市三级联动
Nov 23 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
Dec 13 Javascript
layui导出所有数据的例子
Sep 10 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
解析php中array_merge与array+array的区别
2013/06/21 PHP
php下Memcached入门实例解析
2015/01/05 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
在VUE中使用lodash的debounce和throttle操作
2020/11/09 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
python中文件变化监控示例(watchdog)
2017/10/16 Python
python列表的增删改查实例代码
2018/01/30 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
Python创建数字列表的示例
2019/11/28 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
Python实现微信表情包炸群功能
2021/01/28 Python
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
如何强制垃圾回收
2015/10/06 面试题
销售工作人员的自我评价分享
2013/11/10 职场文书
英文求职信写作小建议
2014/02/16 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
装修设计师求职信
2014/02/26 职场文书
2014全国两会心得体会
2014/03/17 职场文书
工作作风承诺书
2014/08/30 职场文书
诚实守信演讲稿
2014/09/01 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android