当前位置: 首页 > news >正文

石河子做网站的公司网站设计与制作的过程

石河子做网站的公司,网站设计与制作的过程,上海网站建设改版,做推文网站文章目录 一、是什么二、流程三、手写new操作符 一、是什么 在JavaScript中#xff0c;new操作符用于创建一个给定构造函数的实例对象 例子 function Person(name, age){this.name name;this.age age; } Person.prototype.sayName function () {console.log(this.name) … 文章目录 一、是什么二、流程三、手写new操作符 一、是什么 在JavaScript中new操作符用于创建一个给定构造函数的实例对象 例子 function Person(name, age){this.name name;this.age age; } Person.prototype.sayName function () {console.log(this.name) } const person1 new Person(Tom, 20) console.log(person1) // Person {name: Tom, age: 20} t.sayName() // Tom从上面可以看到 new 通过构造函数 Person 创建出来的实例可以访问到构造函数中的属性new 通过构造函数 Person 创建出来的实例可以访问到构造函数原型链中的属性即实例与构造函数通过原型链连接了起来 现在在构建函数中显式加上返回值并且这个返回值是一个原始类型 function Test(name) {this.name namereturn 1 } const t new Test(xxx) console.log(t.name) // xxx可以发现构造函数中返回一个原始值然而这个返回值并没有作用 下面在构造函数中返回一个对象 function Test(name) {this.name nameconsole.log(this) // Test { name: xxx }return { age: 26 } } const t new Test(xxx) console.log(t) // { age: 26 } console.log(t.name) // undefined从上面可以发现构造函数如果返回值为一个对象那么这个返回值会被正常使用 二、流程 从上面介绍中我们可以看到new关键字主要做了以下的工作 创建一个新的对象obj将对象与构建函数通过原型链连接起来将构建函数中的this绑定到新建的对象obj上 根据构建函数返回类型作判断如果是原始值则被忽略如果是返回对象需要正常处理 举个例子 function Person(name, age){this.name name;this.age age; } const person1 new Person(Tom, 20) console.log(person1) // Person {name: Tom, age: 20} t.sayName() // Tom三、手写new操作符 现在我们已经清楚地掌握了new的执行过程 那么我们就动手来实现一下new function mynew(Func, ...args) {// 1.创建一个新对象const obj {}// 2.新对象原型指向构造函数原型对象obj.__proto__ Func.prototype// 3.将构建函数的this指向新对象let result Func.apply(obj, args)// 4.根据返回值判断return result instanceof Object ? result : obj }测试一下 function mynew(func, ...args) {const obj {}obj.__proto__ func.prototypelet result func.apply(obj, args)return result instanceof Object ? result : obj } function Person(name, age) {this.name name;this.age age; } Person.prototype.say function () {console.log(this.name) }let p mynew(Person, huihui, 123) console.log(p) // Person {name: huihui, age: 123} p.say() // huihui可以发现代码虽然很短但是能够模拟实现new 希望本文能够对您有所帮助如果您有任何问题或建议请随时在评论区留言联系 章挨踢章IT 谢谢阅读
http://www.zqtcl.cn/news/17295/

相关文章:

  • 优秀的国外设计网站施工企业会计论文
  • 哪里有做网站的服务平台登录
  • 免费注册域名哪里有搜索引擎优化概述
  • 网站手机采集做一个网站平台需要什么
  • 北京建设工程交易协会网站公司起名字大全免费二字
  • 网页网站设计用什么软件网站建设与管理试题及答案
  • 成都网站建设企业 排名北京建设执业注册中心网站
  • 老年门户网站建设的意义南通网站建设排名公司哪家好
  • 网站建设的主要作用西安千秋网络科技有限公司怎么样
  • 佛山微网站推广网站界面设计应遵循的原则
  • 深圳网站做的好的公司名称六安住房和城乡建设局官方网站
  • 平面设计和建设网站的区别兰州装修公司口碑排名
  • 2019做哪个网站赚钱canvas可画网页版
  • 舆情网站直接打开个人网站建设发布信息
  • 跨境电商网站建设流程图wordpress 作品 区别
  • 嘉兴五县两区网站建设人才网网站方案
  • 国际业务网站有哪些淄博网站制作公司推广
  • 东莞建站公司速推全网天下首选免费虚拟主机官网
  • 网站优化检测网站备案信息如何注销
  • 网站是先解析后备案吗网站做拓扑图编辑
  • 什么网站是专门做评论赚钱的小程序代理商好做吗
  • 网站角色权限网站建设预算描述
  • 哪些属于网站评论上海公司排行榜
  • 直播软件下载网站郴州网站制作公司招聘
  • 服装网站建设如何解决网站怎么防k
  • 大连开发区网站开发公司电话网站关键词设置
  • 广州网站制作百度收录查询入口
  • 奎屯网站制作广州建设网站服务
  • 部队网站建设建议网站开发合同下载
  • 怎么上国外购物网站电脑qq小程序入口