JavaScript面向对象
一.原型链
function Person(n,a){ return { name : n , age : a } } Person.prototype.abc=function(){ console.log("儿子"); } let person = new Person('张子浩',20); console.log(person.name); Person.prototype.abc();
定义一个函数,返回这些属性,就犹如C#中对函数封装一样,我们可以对这个函数进行封装。
二.Class类
ES6和ES5中有非常多的不相似点,我们慢慢思考
class DBHelper { constructor() {} getdate () { return new Date(); } } // 导出内容 // export default DBHelper = DBHelper; // ES6 module.exports = DBHelper; // ES5
通过 module.exports 可以进行公开内容 差不多就pubic。
在第二个class中
// import ZZH from './lei2.js'; // ES6 var ZZH = require('./lei2'); // ES5 require.js // 在 JS 中 所有的 类 都可以看成是 object 的 子类。 class Person{ // 构造函数 constructor(n,a){ this.name = n; this.age= a; } abc(){ console.log('hehe'); } }
通过constructor关键字可以写构造函数,我们还可以在类中写其他的方法.
其中require关键字是可以引用别的lei 差不多就是new关键字 路径可以是绝对路径和相对路径,我们就可以去调用ZZH中的函数了
三.类的继承
// 类的继承 class Student extends Person{ }
let person = new Person('张子浩',20);
console.log(person.name);
let stu = new Student('张建晗',20);
console.log(stu.name);
console.log(typeof (person)); // object
console.log(typeof (stu)); // object
// 获取对象的 构造函数
console.log(person.constructor);
console.log(stu.constructor);
类的继承可以通过extends关键字,值得思考的是两者的类型都是object,获取对象的构造函数可以通过constructor
分类:
Javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异