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

网站开发专业大学网络营销的概念是什么

网站开发专业大学,网络营销的概念是什么,做网站是用啥软件做的,非法集资罪提供网站建设2.12. class类 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过 class 关键字,可以定义类。 ES6 的 class 可以看作只是一个语法糖,它的绝大部分功能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()

在这段代码中,EmployeePerson 的子类。以下是这两句代码的含义:

  1. Employee.prototype = new Person; 这行代码的作用是将 Person 构造函数的一个实例赋值给 Employee 原型对象。通过这样做,所有 Employee 类的实例都将继承 Person 类的所有方法和属性(通过原型链)。在这里调用 new Person 时并没有传入参数,因此新创建的 Person 实例的 namesex 属性将是 undefined。不过,在接下来的 Employee 构造函数内部已经通过 Person.call(this, name, sex) 正确地设置了这些属性。
  2. Employee.prototype.constructor = Employee; 在 JavaScript 中,每个构造函数的原型对象都有一个内置的 constructor 属性,它指向该构造函数本身。但是,当执行了 Employee.prototype = new Person 后,Employee 原型对象的 constructor 被修改为指向 Person。为了修复这一问题,并确保 Employee 的实例能够正确识别其构造函数,需要手动设置 Employee.prototype.constructorEmployee。这样做的目的是在后续可能涉及检查对象构造函数的场景下(如 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/927446/

相关文章:

  • 怎么访问日本竹中建设网站外贸seo推广
  • 惠阳建设局网站引流推广接单
  • 北京通州网站建设公司如何建立公司网站网页
  • 网站换程序301seo优化按天扣费
  • html5 网站自适应长尾关键词挖掘爱站工具
  • 网站设计公司(信科网络)潍坊网站定制模板建站
  • 番禺网站开发报价百度竞价排名软件
  • 做企业网站接单seo网站优化技术
  • 建设网站行业云网络推广理实一体化软件
  • 如何用自己公司网站做邮箱关键字是什么意思
  • 古典网站建设欣赏马鞍山网站seo
  • 商城网站建设报价方案免费建网站软件下载
  • 中国做美国酒店的网站好竞价托管收费标准
  • 网站开发与设计静态网页源代码站长之家app下载
  • 松原做网站app运营推广是干什么
  • 做简单的网站链接2024新闻热点摘抄
  • 百度网站站长环球网疫情最新
  • 颍上做网站西安seo网站关键词优化
  • 有没有兼职做设计的网站吗知名网络软文推广平台
  • 数据百度做网站好用吗米拓建站
  • 网站维护运营怎么做搜索引擎优化通常要注意的问题有
  • 圆梦科技专业网站建设恶意点击软件有哪些
  • 如何做vip电影解析网站竞价恶意点击器
  • 开发简单小程序公司深圳网站优化哪家好
  • 网站开发劣势搜索引擎排名优化
  • 桂林网站优化公司企业网络营销顾问
  • 上海外贸出口代理公司排名搜索引擎优化的主要工作有
  • 一般做企业网站需要什么资料广告咨询
  • 广州网站建设兼职网站为什么要做seo
  • 中企动力官网 网站怎么在平台上做推广