最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavascriptObject对象学习笔记_基础知识

来源:动视网 责编:小采 时间:2020-11-27 21:30:21
文档

JavascriptObject对象学习笔记_基础知识

JavascriptObject对象学习笔记_基础知识:构造函数 new Object() new Object(value) 参数 value 可选的参数,声明了要转换成Number对象、Boolean对象或String对象的原始值(即数字、布尔值或字符串)。JavaScript 1.1之前的版本和ECMAScript Vl不支持该对象。 返回值 如果没有给
推荐度:
导读JavascriptObject对象学习笔记_基础知识:构造函数 new Object() new Object(value) 参数 value 可选的参数,声明了要转换成Number对象、Boolean对象或String对象的原始值(即数字、布尔值或字符串)。JavaScript 1.1之前的版本和ECMAScript Vl不支持该对象。 返回值 如果没有给


构造函数
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( )
检查对象是否有局部定义的(非继承的)、具有特定名字的属性。

代码如下:
 
var o = new Object();
o.name="Tom";
alert(o.hasOwnProperty("name")); //true
alert(o.hasOwnProperty("age")); //false

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匹配。由于标准中有这个错误,因此该方法不是那么有用。

代码如下:

var obj = new Object();
obj.title = 'aaa';
obj.funb = function(a, b)
{
alert(a+b);
}
alert(obj.title);
obj.funb(1,2);

这里一种方法
******************************

代码如下:

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);

这是另一种方法

文档

JavascriptObject对象学习笔记_基础知识

JavascriptObject对象学习笔记_基础知识:构造函数 new Object() new Object(value) 参数 value 可选的参数,声明了要转换成Number对象、Boolean对象或String对象的原始值(即数字、布尔值或字符串)。JavaScript 1.1之前的版本和ECMAScript Vl不支持该对象。 返回值 如果没有给
推荐度:
标签: js 对象 javascript
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top