面向对象的概念
// 原料 function fn(){ //将这个函数中的this改变,指向new新创建的对象 // 加工 this.name = "root"; } // // 出厂 var f = new fn();//创建了一个新对象 var f2 = new fn();//创建了一个新对象 console.log(f);//fn {name: "root"} console.log(f2)//fn {name: "root"} console.log(f == f2)//false // new的原理: // 1.创建了一个新的空对象 // 2.将这个对象的__proto__和函数的prototype做连接 // 3.将这个函数中的this改变,指向new新创建的对象 // 4.检测函数有没有返回对象,没有返回对象,就返回new创建的对象 // 工厂模式的模式是什么: // 设计模式之一: // 构造函数,构造自定义的函数,会在函数中使用this、找到被构造出来的对象 // 隐患:一旦构造函数被直接执行,会错误的产生大量的全局变量 // 解决隐患:解决不了 // 自我约束:构造函数不要直接执行 // 防止误操作:行业习惯:为了防止构造函数被直接执行,产生大量的全局变量,一般将需要被构造的函数的首字母大写,以此标志构造函数和正常函数的区别 function Fn(){ this.name = "root"; } var f = new Fn() console.log(f.name)//root console.log(name)//空;
长风破浪会有时,直挂云帆济沧海
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!