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

上海网站建站建设服务中国工程建设标准化网站

上海网站建站建设服务,中国工程建设标准化网站,网络科技有限公司和科技有限公司的区别,电子商务网站建设分析论文class是ES6引入的#xff0c;它并不是一种全新的继承模式#xff0c;而只是基于原型对象继承封装的语法糖#xff0c;因此只要充分理解原型对象#xff0c;原型链#xff0c;继承等知识#xff0c;class也就很好容易理解了 类的声明 ES5及之前是通过创建一个构造函数(Fn)…class是ES6引入的它并不是一种全新的继承模式而只是基于原型对象继承封装的语法糖因此只要充分理解原型对象原型链继承等知识class也就很好容易理解了 类的声明 ES5及之前是通过创建一个构造函数(Fn)以及将方法指派到该构造函数的原型对象(Fn.prototype)上来创建一个类。 在ES6中类的声明就十分简单了只要以class关键字开始, 接上类名, 最后将方法编写在花括号{}里面。注意点方法之间不需要逗号方法之间不需要逗号方法之间不需要逗号 class Person {// 等价于 Person构造函数constructor(name) {this.name name;}// 等于Person.prototype.sayHellosayHello() {console.log(Hello, my name is ${this.name});} }let me new Person(mxk); console.log(me.name); // mxk console.log(me.sayHello()) // Hello, my name is mxkconsole.log(me instanceof Person) // true console.log(typeof Person) //function console.log(Object.getPrototypeOf(me) Person.prototype) // true console.log(Person.prototype.constructor Person) // true 类表达式 匿名函数表达式 let Person class {constructor(name) { this.name name; } } 具名函数表达式 let Person class Person1{constructor(name) { this.name name; } } 与函数的声明和表达式不同函数声明是会被提升的但是类的声明和表达式都不存在提升因此它们主要的不同就是代码风格 类的特点 类声明不会被提升这与函数定义不同。类声明的行为与 let 相似因此在程序的执行到达声明处之前类会存在于暂时性死区内。类声明中的所有代码会自动运行在严格模式下并且也无法退出严格模式。类的所有方法都是不可枚举的而自定义类创建的方法默认是可枚举的类的所有方法内部都没有 [[Construct]] 因此使用 new 来调用它们会抛出错误。调用类构造器时不使用 new 会抛出错误。不得修改类内部的类名模拟类的创建 let/*不会被提升*/ Person /*外部可以访问的*/ (function() {use strict; /*运行在严格模式下*/const /*不能修改内部的类名*/ Person1 function(name) {if (new.target void 0) {throw new Error(构造函数必须使用new);}this.name name;}Object.defineProperty(Person1.prototype, sayHello, {value: function() {if (new.target ! void 0) {throw new Error(类内方法调用不能使用new)}console.log(Hello, my name is ${this.name});},enumerable: false, /*类内所有的方法都是不可枚举的*/writable: true,configurable: true})return Person1; })(); 类的声明和表达式基本是一致的函数声明暴露给外部的类名和内部的类名是相同的类表达式的话只有赋值符号左边的类名是我们可以访问的右侧那个是内部的类名 立即调用类构造函数 let me new class {constructor(name) { this.name name; }sayHello() {console.log(Hello, my name is ${this.name});} }(mxk);console.log(me.name) // mxk console.log(me.sayHello()) // Hello, my name is mxk 使用这种模式你无法访问到类因为外部可以访问的类名它并没有暴露出来 访问器属性 class Person {constructor(name, age) {this.name name;this.__age age}get age() {return this.__age;}set age(value) {this.__age value 1;} } 相当于 Object.defineProperty(Person.prototype, age, {enumerable: false, /*不可枚举*/configurable: true,get() { return this.__age; },set(value) { this.__age value 1; } }) 静态成员 直接定义在构造函数对象上的方法实例对象无法访问到 class ClassType {constructor() {this.type class_type;}static create() {return new ClassType();} }let ct ClassType.create(); console.log(ct.type); //class_type console.log(ct.create); // undefined 转载于:https://www.cnblogs.com/guanine/p/9273098.html
http://www.pierceye.com/news/783214/

相关文章:

  • 网站的定义tomcat做公司网站
  • 小程序开发公司网站源码下载阿里云搭建公司网站
  • 网站营销方案设计公司凡科可以做视频网站吗
  • 网站seo优化费用wordpress 做商城
  • 宁波网站设计哪家公司好电子商务电商网站设计
  • 网站添加提醒租网站需要多少钱
  • 网站关键字优化地点如何用手机做网站吗
  • 中国建设银行网站签名通下载站长工具seo词语排名
  • 七牛云官网登录郑州优化网站收费标准
  • 三亚专业网站建设电商网站开发思路
  • app手机端电子商务网站功能提供网站建设课程
  • 福田皇岗社区做网站公司办公室布局效果图
  • 音乐播放网站怎么做北京终端区优化
  • 广州市建设工程交易中心网站上海畔游网络科技有限公司
  • wordpress网站好慢页面模板怎么用
  • 网站建设维护是啥意思wordpress 路径
  • 汕头网站建设报价个体工商户注册公司流程和费用
  • 网站开发学的啥36kr源码WordPress
  • 最好的免费网站空间沈阳营销型网站
  • 如何制作一个好网站网络设计报告范例
  • 邯郸做网站最好的公司彩票网站制作
  • 酒店团购的网站建设网站建设的一些原理
  • 做淘宝网站需要什么网站设置快捷键
  • 网站建设合同验收提供网站建设报
  • 湛江市建设规划局网站如何干电商
  • 东莞网站制作很好 乐云践新佛山网站建设解决方案
  • 哪个网站百度收录快海报模板网址
  • 绍兴高兴区建设网站怎么查网站制作空间有效期
  • 有没人做阿里巴巴网站维护的企业网站搭建 网络活动策划
  • 在线手机网站预览网站建设费归入长期待摊费用