如何在JavaScript中使用继承?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<html>
<head>
<title>js函数继承进阶</title>
<meta charset="UTF-8"/>
<script type="text/javascript">
function person(name,age){ //对象的创建
this.name=name;
this.age=age;
// this.test=function(a){
// console.log("能运行吗");
// }
}
function book(name){
this.name="是我吗";
this.lookat=function(a){
console.log("看看能行吗");
}
}
function czxt(name){
this.name=name;
}
person.prototype.read=function(a){console.log("I can read");};
book.prototype.sign=function(a){console.log("I am book"); return new book()}; //视其为一个对象的一个属性进行”继承“
person.prototype.book=new book(); //直接进行“包含”
// person.prototype=new book();
czxt.prototype.appear=function(a){console.log("我是操作系统")};
book.prototype.subject=new czxt();
// book.prototype=new czxt();
var p1=new person("张三",37);
// p1.lookat(); //类内部的方法也可以调用
// console.log(p1.name); //包含类和父类都含有,是父类的name属性值。 "张三"
console.log(p1.book.name); //用属性进行调用的话,是包含类的name属性 ”是我吗“
// p1.sign(); //直接调用包含函数方法
// p1.book.sign(); //调用对象属性包含的方法
// p1.read(); //调用公共对象外函数
// p1.test(); //函数调用函数内部的函数(视函数为对象)
// p1.address="山东"; //每个特定对象主动添加对象属性
// console.log(p1.address);
var b1=new book();
// b1.appear(); //调用其继承体内的函数
// p1.appear(); //无法调用包含对象内的包含方法(无法直接调用孙子函数)
// p1.book.appear(); //用属性调用也不行啊,不是函数可还行
// p1.book.subject.appear(); //双重属性定义可以,牛逼了。
// p1.sign().appear(); //person非属性调用book,在book的sign方法中添加一个book类型的返回值以此来调用book包含的方法。
</script>
</head>
<body>
<h4>js函数继承进阶</h4>
</body>
</html>
运行结果:
1、js属于一种解释性脚本语言;2、在绝大多数浏览器的支持下,js可以在多种平台下运行,拥有着跨平台特性;3、js属于一种弱类型脚本语言,对使用的数据类型未做出严格的要求,能够进行类型转换,简单又容易上手;4、js语言安全性高,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失;5、基于对象的脚本语言,js不仅可以创建对象,也能使用现有的对象。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。