WEB安全之javascript基础(四):面向对象原型

WEB安全之javascript基础(四):面向对象原型

面向对象

  • JavaScript是一种基于原型的语言,它没类的声明语句,比如C+ +或Java中用的。这有时会对习惯使用有类申明语句语言的程序员产生困扰。相反,JavaScript可用方法作类。定义一个类跟定义一个函数一样简单。在下面的例子中,我们定义了一个新类Person。

第一种方法

function Person(name) {
     //构造函数里面的方法和属性
    this._name = name;
    this.getName = function () {
         console.log(this._name);
     };
     this.setName = function (name) {
         this._name = name;
     };
 }
 
 var p = new Person("张三");
 p.getName();  // 张三
 p.setName("李四");
 p.getName();  // 李四
  • 对于上述代码需要注意:
    Person充当的构造函数
    this代指对象
    创建对象时需要使用 new
  • 在这里插入图片描述
    在这里插入图片描述

第二方法

// 定义类class Person {
     //类的构造函数,实例化的时候执行,new的时候执行
     constructor(name) {
         this._name = name;
     }
     getName() {
         console.log(this._name);
     }
     setName(name) {
        this._name = name;
    }
}
 let p = new Person('张三')
 p.getName();  // 张三
 p.setName('李四');
 p.getName();  // 李四
  • 在这里插入图片描述
    在这里插入图片描述

原型

  • 我们所创建的每一个函数,解析器都会向函数中添加一个属性prototype
    这个属性对应着一个对象,这个对象就是我们所谓的原型对象
    如果函数作为普通函数调用时 prototype没有任何作用
    当函数以构造函数调用时,它所创建的对象中都会有一个隐含的的属性
    指向该构造函数的原型 我们可以通过__proto__来访问该属性
    我们可以将对象中公有的内容,统一设置到原型对象中
function Persion(username,age){
}
//console.log(Persion.prototype);
var p = new Persion();
console.log(p.__proto__ == Persion.prototype);


定义原型变量和原型变量
function Persion(username,age){

}
//console.log(Persion.prototype);
Persion.prototype.a = '女';
Persion.prototype.Sayname=function(){
	return Persion.name;
}
var p1 = new Persion('moonsec');
var p2 = new Persion();
alert(p1.Sayname());
  • 在这里插入图片描述
    在这里插入图片描述
  • 在这里插入图片描述
    在这里插入图片描述
  • 在这里插入图片描述
    在这里插入图片描述
  • 在这里插入图片描述
    在这里插入图片描述
  • 在这里插入图片描述
    在这里插入图片描述
  • 在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值