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

网站搜索怎么做广州网站建设哪家公司

网站搜索怎么做,广州网站建设哪家公司,网站开发实践实验教程,免费网站管理软件2.12. class类 ES6 提供了更接近传统语言的写法#xff0c;引入了 Class#xff08;类#xff09;这个概念#xff0c;作为对象的模板。通过 class 关键字#xff0c;可以定义类。 ES6 的 class 可以看作只是一个语法糖#xff0c;它的绝大部分功能ES5 都可以做到…2.12. class类 ES6 提供了更接近传统语言的写法引入了 Class类这个概念作为对象的模板。通过 class 关键字可以定义类。 ES6 的 class 可以看作只是一个语法糖它的绝大部分功能ES5 都可以做到新的 class 写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。 // ES 5 // 人员 : 相当于 构造方法 function Person(name, sex){this.name name;this.sex sex; }//添加方法 Person.prototype.sayHi function(){console.log(大家好!!); }//实例化对象 let wang new Person(王小二, 男); wang.sayHi(); console.log(wang);// ES 6 //class class Emp{//构造方法 名字不能修改constructor(name, sex){this.name name;this.sex sex;}//方法必须使用该语法sayHi(){console.log(大家好!!);} }let li new Emp(李小三, 女); li.sayHi() console.log(li);2.12.1.set/get 方法 在name属性之前添加了get和set关键字这样就创建了一个名为name的访问器属性。get方法用于获取该属性的值set方法用于设置新的值。 需要注意的是使用属性访问器时实际的属性名会在内部使用一个带下划线的变量名来存储。这是一种常见的命名约定用于区分属性访问器和实际存储属性的变量。 class Stu {constructor(name) {this._name name;}get name() {console.log(读取 name 属性)return this._name;}set name(newName) {console.log(修改 name 属性);this._name newName;}}const stu new Stu(王小二); console.log(stu.name); // 输出 王小二stu.name 李小三; console.log(stu.name); // 输出 李小三2.12.2.静态 static 属于 类不属于 对象 // ES 5// function Stu(){ // // }// 下面定义的属性方法属性 Stu , 相当于 静态的 // name 属性 , 比较特殊 为 Stu // Stu.age 12; // Stu.sayHello function(){ // console.log(hello, 我是王小二); // } // console.log(Stu.age) // Stu.sayHello();// Stu.prototype.sex 男; // // let wang new Stu(); // // 这些属性是属于 Phone 的, 而不是属于 wang 的 // console.log(wang.name); // wang.sayHello(); // console.log(wang.sex);// ES 6 class Stu{//静态属性static name 李小三;static sayHello(){console.log(hello, 我是李小三);} }let li new Stu(); console.log(li.name); // li.sayHello(); console.log(Stu.name); Stu.sayHello();2.12.3.继承 2.12.3.1.ES 5 构造继承 // ES 5 // 人员 父类 function Person(name, sex){this.name name;this.sex sex; }//添加方法 Person.prototype.sayHi function(){console.log(大家好!!); }//员工 子类 , 增加了 salary 薪水 属性 function Employee(name, sex, salary){// 调用父类的构造函数, 将自己及属性值 传入Person.call(this, name, sex);this.salary salary; }//设置子级构造函数的原型 Employee.prototype new Person; Employee.prototype.constructor Employee;//声明子类的方法 Employee.prototype.eat function(){console.log(去食堂) }const wang new Employee(王小二, 男,6499 );console.log(wang); console.log(wang.name); console.log(wang.sex); console.log(wang.salary); wang.sayHi(); wang.eat()在这段代码中Employee 是 Person 的子类。以下是这两句代码的含义 Employee.prototype new Person; 这行代码的作用是将 Person 构造函数的一个实例赋值给 Employee 原型对象。通过这样做所有 Employee 类的实例都将继承 Person 类的所有方法和属性通过原型链。在这里调用 new Person 时并没有传入参数因此新创建的 Person 实例的 name 和 sex 属性将是 undefined。不过在接下来的 Employee 构造函数内部已经通过 Person.call(this, name, sex) 正确地设置了这些属性。Employee.prototype.constructor Employee; 在 JavaScript 中每个构造函数的原型对象都有一个内置的 constructor 属性它指向该构造函数本身。但是当执行了 Employee.prototype new Person 后Employee 原型对象的 constructor 被修改为指向 Person。为了修复这一问题并确保 Employee 的实例能够正确识别其构造函数需要手动设置 Employee.prototype.constructor 为 Employee。这样做的目的是在后续可能涉及检查对象构造函数的场景下如 instanceof 操作符或 .constructor 属性能正确识别出对象是由哪个构造函数创建的。 2.12.3.2.ES 6 构造继承 // ES 6 class Person {//构造方法constructor(name, sex){this.name name;this.sex sex;}//父类的成员方法sayHi(){console.log(大家好!!);} }class Employee extends Person {//构造方法constructor(name, sex, salary) {super(name, sex);// Phone.call(this, brand, price)this.salary salary;}eat() {console.log(去食堂)}// sayHi(){// console.log(大家好!!我转正了);// } }const li new Employee(李小三, 女, 5799 ); console.log(li); console.log(li.name); console.log(li.sex); console.log(li.salary); li.sayHi(); li.eat()2.12.4.( ES 11 )私有属性 通过 在属性前加 # 来设置私有的属性, 在内部可以直接使用( 如: info() ), 在外部直接调用 会报错 , Uncaught SyntaxError: Private field ‘#age’ must be declared in an enclosing class class Person{//公有属性name;//私有属性#age;#weight;//构造方法constructor(name, age, weight){this.name name;this.#age age;this.#weight weight;}info(){console.log(this.name);console.log(this.#age);console.log(this.#weight);}}//实例化 const girl new Person(李小三, 18, 45kg);console.log(girl.name); // 李小三 console.log(girl.#age); // Uncaught SyntaxError: Private field #age must be declared in an enclosing class console.log(girl.#weight); // Uncaught SyntaxError: Private field #weight must be declared in an enclosing classgirl.info();
http://www.hkea.cn/news/14557618/

相关文章:

  • 学建设网站lnmp wordpress
  • 住建部建设厅官方网站为企业做贡献演讲稿
  • 建筑公司网站需求wordpress 视频 广告插件
  • 自助网站建设系统源码南通网站seo报价
  • 深圳平湖网站建设公司响应式网站开发报价
  • 松江建网站建立个人免费网站
  • 个人网站什么好泰安市泰山区招聘信息
  • 大型网站 解决方案 技术网站怎么做防御
  • 福州优化网站建设玛迪做网站
  • 汽车金融网站怎么做wordpress留言板源码
  • 织梦如何制作静态网站模板骨干专业群建设任务书网站
  • 免费个人网站建设制作代码官方网站建设方案图
  • 如何创建公司网站做标签网站是干嘛的
  • 餐饮行业做网站的好处电子商务网站建设与管理读书心得
  • 百度地图电脑版网页优化服务公司
  • 网站怎么做网上报名行业网站 源码
  • 八步网站建设简洁大气的企业网站
  • 最简单的网站系统ui设计
  • 网站布局分类个人创建网站程序
  • 织梦后台怎么做网站地图什么网页可以做网站
  • 网站推广预期达到的目标wordpress前台打不开
  • 定制制作网站设计黄骅港旅游景点大全海边
  • 阿里云快速做网站烟台网站建设找企汇互联专业
  • 网页游戏网站有哪些wordpress免费相册插件
  • 淄博网站建设公司有几家大宗商品交易公司
  • 孝感网站开发找优搏google浏览器入口
  • wordpress 插件 重命名免费seo排名工具
  • 外链生成网站科技设计网站建设
  • 电子商务网站建设与实验给网站做接口
  • 代理网址是什么谷歌seo需要做什么