扩展原型对象
成员函数
1. Object类
Object类是所有JavaScript类的基类,
它提供了一种创建自定义对象的简单方式,
而不需要再自定义构造函数.
1) 主要属性
① constructor
对象的构造器
② prototype
获得类的prototype对象
2) 主要方法
① hasOwnProperty( property )
是否属于本类定义的属性
② isPrototypeOf( object )
是否指定类的prototype
③ propertyIsEnumerable( property )
是否是可枚举的属性
④ toString()
返回对象对应的字符串
⑤ valueOf()
返回对象对应的原始类型值
3) 创建一个对象
var obj = new Object();
obj.name = "张三";
obj.gender = "男";
obj.show = function() {
return this.name + " " + this.gender;
}
console.info( obj.show() );
2. 扩展 原型对象
1) 扩展 Number
Number.prototype.add = function( num ) {
return this + num;
}
var x = 10;
// <==> var x = new Number(10);
console.info( x.add(1).add(2) ); // 13
2) 扩展 Array
Array.prototype.find = function(val) {
for (var i = 0; i < this.length; i++) {
if (val == this[i]) {
return i;
}
}
return -1;
}
var arr = [5,9];
// <==>
// var arr = new Array();
// arr[0] = 5;
// arr[1] = 9;
console.info( arr.find(9) );
console.info( arr.find(19) );
3. 成员函数
1) 参数列表可变
- 类型
- 个数
2) 返回语句可省, 但最多返回一个值
3) 同名函数, 只调用最后一个
function func(v1) {
return "11111111";
}
function func(v1, v2) {
return "22222222";
}
console.info( func(1) ); // 22222222
4) 全局函数
不在类中定义的函数, 即为 全局函数;
同理, 也有 全局变量.