面向对象基础,web网站开发培训

31 阅读3分钟

最后

正值招聘旺季,很多小伙伴都询问我有没有前端方面的面试题!

前端资料图.PNG 开源分享:docs.qq.com/doc/DSmRnRG…

面向过程:小花去食堂点餐吃饭。

面向对象:小花-去-吃 、 食堂-点餐

小花.去 食堂.点餐 小花.吃

创建对象的两种方式:

  1. 字面量

let nan = "性别";

let obj = {

name:"小涛",

nan:"男",

age:"17",

hobby:function(){

console.log("喜欢做题");

}

};

  1. 通过构造函数

let obj2 = new Object();

对象的使用:

  1. 通过点语法

console.log(obj.name);

  1. 通过中括号

console.log(obj["nan"]);

上述两者的区别: 如果通过点语法无法获取到对象中“正确”的属性/方法名,可以使用中括号的方式来获取

工厂模式

==============================================================

创建对象的第三种方式: 工厂模式

function Person(name,age,sex,fn){

// 1. (形参) --> 运输材料

//2. 创建对象并赋值 --> 加工材料

let obj = {};

obj.name = name;

obj.age = age;

obj.sex = sex;

obj.hobby = fn;

return obj;

// 3. 出厂

}

function fn(){

console.log("我是一个兵,来自老百姓");

}

let dada = Person("光达","18","男");

let daxian = Person("大仙","20","男",fn);

console.log(dada.sex);

console.log(daxian.name);

daxian.hobby();

构造函数

==============================================================

创建对象的第四种方式:构造函数——函数名的首字母 需要大写, 以此来和普通函数进行区别

function Person(name,age,sex,fn){

this.name = name;

this.age = age;

this.sex = sex;

this.hobby = fn;

}

// new运算符: 也叫做new构造器, 配合使用的函数,被称为构造函数

let obj = new Person();

new运算符

================================================================

作用:

  1. 执行该函数

  2. 隐式创建一个对象

  3. 把该对象和函数的 this指向 互相绑定

  4. 可以把this中的属性和方法都加到 该对象上

  5. 函数执行后,返回该对象

function txt(name){

this.name = name;

this.age = age;

this.sex = sex;

this.hobby = function(){

console.log("我是一个兵");

}

}

实例化对象:

let obj = new txt("阿");

console.log(obj.name);

原型

============================================================

每次通过构造函数去实例化对象,都会生成一个新的内存空间

当项目开发中,往往大量的内存使用,会严重影响性能

原型: 将公有的方法,放到原型中,每次实例化对象,原型中的内容是公有的,不会再分配新的空间给对象 (构造函数中的属性/方法 会)

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

html5