javascript对象继承顺序、分类和内置Math对象
2019-12-18 本文已影响0人
ssttIsme
javascript对象继承顺序、分类和内置Math对象
一、对象的继承顺序
所有对象都是从Object对象继承过来的
首先访问自己本身方法
->
自己本身原型方法->
父类方法->
父类原型方法->
祖父方法->
...
Object.prototype.say=function () {
return "顶层方法";
};
function Person() {
}
function Teacher() {
}
Teacher.prototype=new Person();
var zhangsan=new Teacher();
document.write(zhangsan.say());
输出 顶层方法
如果父类有方法就会继承,只要找到这个方法就不会向上访问
Object.prototype.say=function () {
return "顶层方法";
};
function Person() {
this.say=function () {
return "父类方法";
};
}
function Teacher() {
}
Teacher.prototype=new Person();
var zhangsan=new Teacher();
document.write(zhangsan.say());
输出 父类方法
Object.prototype.say=function () {
return "顶层方法";
};
function Person() {
this.say=function () {
return "父类方法";
};
}
Person.prototype.say=function () {
return "父类原型方法";
};
function Teacher() {
}
Teacher.prototype=new Person();
var zhangsan=new Teacher();
document.write(zhangsan.say());
输出 父类方法
Object.prototype.say=function () {
return "顶层方法";
};
function Person() {
/* this.say=function () {
return "父类方法";
};*/
}
Person.prototype.say=function () {
return "父类原型方法";
};
function Teacher() {
}
Teacher.prototype=new Person();
var zhangsan=new Teacher();
document.write(zhangsan.say());
输出 父类原型方法
Object.prototype.say=function () {
return "顶层方法";
};
function Person() {
this.say=function () {
return "父类方法";
};
}
Person.prototype.say=function () {
return "父类原型方法";
};
function Teacher() {
this.say=function () {
return "本身方法";
}
}
Teacher.prototype=new Person();
var zhangsan=new Teacher();
document.write(zhangsan.say());
输出 本身方法
Object.prototype.say=function () {
return "顶层方法";
};
function Person() {
this.say=function () {
return "父类方法";
};
}
Person.prototype.say=function () {
return "父类原型方法";
};
function Teacher() {
this.say=function () {
return "本身方法";
}
}
Teacher.prototype=new Person();
Teacher.prototype.say=function(){
return "本身原型方法";
};
var zhangsan=new Teacher();
document.write(zhangsan.say());
输出 本身方法
Object.prototype.say=function () {
return "顶层方法";
};
function Person() {
this.say=function () {
return "父类方法";
};
}
Person.prototype.say=function () {
return "父类原型方法";
};
function Teacher() {
/*this.say=function () {
return "本身方法";
}*/
}
Teacher.prototype=new Person();
Teacher.prototype.say=function(){
return "本身原型方法";
};
var zhangsan=new Teacher();
document.write(zhangsan.say());
输出 本身原型方法
二、对象的分类
2.1内置对象
2.1.1Global(不可访问和创建)
1.escape(字符串参数) 对字符串进行编码
2.unescape(字符串参数) 对编码的字符串进行解码
3.Number() 转换成数值类型
4.String() 转换成字符串类型
5.Boolean() 转换成布尔类型
6.parseInt() 将字符串转换为整型
7.parseFloat() 转换成小数
8.isNaN() 判定一个数能否能转换为数值类型
9.isFinite() 判断一个数是否为有穷.(将不是有穷的数或不能转换为数值类型的数返回假)
10.eval() 将字符串转换为javascript命令执行
2.1.2Math
格式:Math.方法(参数)
1.取绝对值
Math.abs();
document.write(Math.abs(-3.14)); //输出 3.14
2.取近似整数(四舍五入)
Math.round()
document.write(Math.round(2.5)); //输出 3
3.对数字进行下取舍
Math.floor()
document.write(Math.floor(2.9)); //输出 2
4.对数字进行上取舍
Math.ceil()
document.write(Math.ceil(2.1)); //输出 3
5.取最大值或最小值
Math.max(参数...)
Math.min(参数...)
document.write(Math.max(2,4,8,9,1,2)); //输出 9
document.write("<br/>");
document.write(Math.min(2,4,8,9,1,2)); ////输出 1
6.取随机数
Math.random() 取0-1的随机数
document.write(Math.random()); //输出 0.49319916100515293
document.write("<br/>");
document.write(Math.random()*100); //输出 76.40631421971165
document.write("<br/>");
document.write(Math.floor(Math.random()*100)); //输出 96
2.2本地对象
Array、Number、String、Boolean、Function、RegExp(正则对象)
var arr=new Array(1,2,3);
document.write(arr);
var str=new String("Amy");
document.write(" "+str); //输出 1,2,3 Amy
2.3宿主对象
DOM BOM