JS基础:原型和原型链

原型和原型链

教师总结

class

它是面向对象的语法,可以通过constructor来创建属性和方法。

	class Student{
   		constructor(name,number){
   			this.name = name
   			this.number = number
   		}
   		sayHi(){
			console.log(
				`姓名 ${this.nsme} ,学号 ${this.number} `
			)
		}
	}
	// 通过new 创建一个实例   (可以new很多个)
	const shili = new Student(' zhangsan',100)
	shili.sayHi()
	// console.log(姓名 zhangsan , 学号  100 )

继承

它是通过extends来继承,子类通过super()来使用父类的属性和方法
extends 继承
super 执行父类构造函数
扩展和重写

	// 父类
	class People{
		constructor(name){
			this.name=name
		}
		eat(){
			console.log(`${this.name} 吃东西`)
		}
	}

	//子类
	class Student exrends People{
		constructor(name,number){
			super(name)
			this.number=number
		}
		sayHi(){
			console.log(`${this.name}的学号是${this.number}`)
		}
	}

	// 实例
	const xiaoming=new Student('小明',100)
	console.log(xiaoming.name) //小明
	console.log(xiaoming.number) //100
	xiaoming.sayHi() //小明的学号是100
	xiaoming.eat() //小明吃东西

类型判断 instanceof

它可以判断应用类型
要判断的类型 instanceof 类型 // true 或 false

原型(关系)

class 实际上是函数,可见是语法糖
每个实例都有___proto___ 隐式原型
每个class都有prototype 显示原型
实例的__proto__指向对应class的prototype(===)

在这里插入图片描述

原型的执行规则

当获取属性方法时,
首先在自身属性和方法中寻找,
如果找不到就会去_proto_中寻找。

原型链

在这里插入图片描述
class 是ES6语法规范,由ECMA委员会发布
ECMA只规定语法规则,就是我们代码的书写方式,不规定如何实现
以上实现方式都是V8引擎的实现方式,也是现在主流的

手写简易jQuery

class jQuery{
	constructor(selector){
		const result = document.querySelectorAll(selector)
		const length = result.length
		for(let i = 0; i < length; i++){
			this.length = length
			this.selector = selector
		}
	}
	get(index){
		return this[index]
	}
	each(fn){
		for(let i = 0; i < this.length; i++){
			const elem = this[i]
			fn(elem)
		}
	}
	on(type,fn){
		return this.each(elem => {
			elem.addEventListener(type,fn,false)
		})
	}
}

// 插件
jQuery.prototype.dialog = function(info){
	alert(info)
}

class myJQuery wxtends jQuery{
	constructor(selector){
		super(selector)
	}
	// 扩展自己的方法
	say(){}
}

const $p = new jQuery('p')
$p.get(1)
$p.each(elem=>{console.log(elem.nodeName)})
$p.on('click',()=>{alert('ckicked')})

流程

流程定义:制定的行程计划或方案
流程实例:每一次执行方案就是一个实例
流程定义与流程实例是一对多的关系

任务类型

如:用户任务***、发送任务、接收任务、手工任务、业务任务、服务任务、脚本任务、调用任务、子流程等。

用户任务面板:

Assignee:执行人/代理人
Candidate Users:候选人(可以有多人)
Candidate Groups:候选组
Due Date:任务到期时间

查询历史记录

历史综合信息:HistoricTaskInstance
历史变量:HistoricVariableInstance

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值