美文网首页
js原型链实例

js原型链实例

作者: Tangbh | 来源:发表于2017-03-15 18:49 被阅读8次

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>原型链</title>
<script type="text/javascript">
//对象的类型
// function f1(){};
// var f2=function(){};
// var f3=new Function('str','console.log(str)');

    // var o3=new f1();
    // var o1={};
    // var o2=new Object();

    // console.log(typeof Object); //function

// console.log(typeof Function); //function
// console.log(typeof o1); //object
// console.log(typeof o2); //object
// console.log(typeof o3); //object
// console.log(typeof f1); //function
// console.log(typeof f2); //function
// console.log(typeof f3); //function
// console.log('以下是对象的prototype');
// console.log(typeof o1.prototype); //object
// console.log(typeof o2.proto); //object
// console.log(typeof o3.proto); //object
// console.log(typeof f1.prototype); //function
// console.log(typeof f2.prototype); //function
// console.log(typeof f3.prototype); //function

//原型链生成对象详解
// var person=function(name){
// this.name=name;
// }
// person.prototype.getName=function(){
// return this.name;
// }
// var tbh=new person('tangbohao');
// console.log(tbh.proto);
// console.log(tbh.proto === person.prototype);
// console.log(person.prototype.proto === Object.prototype);
// var tbh=new person('tangbohao');
// console.log(Object.prototype.proto)
// document.write(tbh.getName());

//原型链实现继承实例
// function Person(name){
// this.name=name;
// this.ClassName="person";

// }
// Person.prototype.getClassName=function(){
// console.log(this.className);
// }
// function Man(){

// }
// //Man.prototype=new Person(); //new一个父类的示例,赋值给子类的原型,这种方法子类无法通过父类创建私有属性
// Man.prototype=new Person("qwer");
// var man=new Man;

//利用原型链,调用构造函数的方式
// function Person(name){
// this.name=name;
// this.ClassName="Person";
// }
// Person.prototype.getName=function(){
// console.log(this.name);
// }
// function Man(name){
// Person.apply(this,arguments);
// }
// var man1=new Man('zhangsan');
// var man2=new Man('lisi');

//es6的继承方式
class Person{
//static count=0;
constructor(name){
this.name=name;
//this.count++;
}
getName(){
console.log(this.name);
}
static test(){
console.log("静态方法");
}
}

class Man extends Person{
constructor(name){
super(name);
this.sex="male";
}
}

var man=new Man("wangwu");
man.getName();
Man.test();
// var q={
// qwe:"123",
// asd:"456",
// zxc:"789"
// }

</script>

</head>
<body>

</body>
</html>

相关文章

  • js对象的继承

    js继承的实现方式 原型链继承 将父类的实例作为子类的原型,向子类的原型链中去构建一个父类的实例。 特点:1.非常...

  • JS题目

    JS 1、原型/原型链/构造函数/实例/继承 1. proto(原型) 每个对象又有proto属性,指向创建他的构...

  • JS构造函数原型与实例的思考

    在JS中,所有对象都是 Object 的实例,Object是原型链的源头 a是A的实例,可以访问A原型上的方法 c...

  • js原型链实例

  • 2018-07-11

    JS原型和原型链 1.每个构造函数生成实例的时候 会自带一个constructor属性 指向该构造函数 实例.co...

  • JavaScript原型,原型链 ? 有什么特点?

    JS中每个函数都存在有一个原型对象属性prototype。并且所有函数的默认原型都是Object的实例。 原型链,...

  • 2018-03-22 ##阴##

    JS继承的实现方式 1、原型链继承 核心:将父类的实例作为子类的原型 function Cat(){ } Cat....

  • 廖雪峰JS小记

    (function(){})() 原型,原型链 浅谈Js原型的理解JS 原型与原型链终极详解 对象 对象:一种无序...

  • JS实现继承 JavaScript

    JS实现继承 JavaScript 定义一个父类: 1.原型链继承 核心:将父类的实例作为子类的原型 特点: 非常...

  • JS的__proto__和prototype

    最近在回顾JS的原型和原型链的知识,熟悉JS的同学都知道JS的继承是靠原型链实现的,那跟原型链相关的属性__pro...

网友评论

      本文标题:js原型链实例

      本文链接:https://www.haomeiwen.com/subject/awkrnttx.html