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中兼容主流浏览器的动态生成iframe方法
May 05 Javascript
javascript面向对象程序设计(一)
Jan 29 Javascript
javascript 实现map集合
Apr 03 Javascript
jquery实现的用户注册表单提示操作效果代码分享
Aug 28 Javascript
jquery mobile 移动web(5)
Dec 20 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
Jan 27 Javascript
js判断鼠标位置是否在某个div中的方法
Feb 26 Javascript
如何解决hover在ie6中的兼容性问题
Dec 15 Javascript
Vue引入jquery实现平滑滚动到指定位置
May 09 jQuery
记一次webapck4 配置文件无效的解决历程
Sep 19 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
Sep 18 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
Feb 19 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建立Ftp连接的方法
2015/03/07 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
css把超出的部分显示为省略号的方法兼容火狐
2008/07/23 Javascript
JQuery live函数
2010/12/24 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
js字符串转成JSON
2013/11/07 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
2015/06/25 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
JavaScript之json_动力节点Java学院整理
2017/06/29 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
2020/04/18 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
Python的几种主动结束程序方式
2019/11/22 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
基于opencv实现简单画板功能
2020/08/02 Python
通过HTML5规范搞定i、em、b、strong元素的区别
2017/03/04 HTML / CSS
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
高二历史教学反思
2014/01/25 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
优秀家长自荐材料
2014/08/26 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
导游词之千岛湖
2019/09/23 职场文书