前言:Object对象是其他一切对象的基础,虽然在实际项目的开发中Object对象本身用处不大,但其他的所以对象都是由object对象继承而来,object对象中所以的属性和方法都可以为其他对象所使用。
语法格式:
obj = new Object([value])
参数说明:
obj(必选项):要为Object对象赋值的变量名。
value(可选项):任意一种JScript基本数据类型(Number,Boolean或String)。如果value为一个对象,返回不做改动的该对象。如果value为null、undefined,或者没有给出,则产生没有内容的对象。
例题:
<script>
var obj = new Object();
obj = {
id : 1024,
name : "csdn"
}
console.log(obj.hasOwnProperty("id"));
//检查属性是否存在,返回值为布尔值
console.log(obj.toString());
//返回对象的原始字符串
console.log(obj.valueOf());
//返回对象的原始值
</script>
运行结果:
分析:
1.调用hasOwnProperty()方法可以成功检测到对象(obj)中所定义的属性id,并返回一个布尔值true。
2.调用toString()方法得到的返回值是“object”类型,而调用valueOf()方法得到的返回值是对象“obj”所定义的具体内容。
(1)prototype属性: 该属性返回对象类型原型的引用
语法格式:
objectName.prototype
参数说明:
objectName:是对象的名称。
使用方法:
用prototype属性可以提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。
例题:
<script>
function array_max(){
var max = this[0];
for(var i=1; i<this.length; i++){
if(max<this[i])
max = this[i];
}
return max;
}
Array.prototype.max = array_max;
var x = new Array(1,2,3);
var y = x.max();
</script>
//该代码执行后,y保存在数组x中的最大值,即 3
分析:
如例题所示为Array对象添加返回数组中最大元素值的方法,首先应该声明该函数,并将它加入Array.prototype,然后去使用它。
(2)constructor属性: 该属性返回对象类型原型的引用
语法格式:
object.constructor
参数说明:
object:是对象或函数的名称。
使用方法:
用prototype属性可以提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。
例题:
<script>
x = new String("CSDN");
if(x.constructor==String){
console.log("true");
}
</script>
//控制台输出true
分析:
constructor属性保存了对构造特定对象实例的函数的引用。