2024年最新【零基础】1小时入门Vue(建议收藏),2024年最新高级开发工程师面试

文末

逆水行舟不进则退,所以大家要有危机意识。

同样是干到35岁,普通人写业务代码划水,榜样们深度学习拓宽视野晋升管理。

这也是为什么大家都说35岁是程序员的门槛,很多人迈不过去,其实各行各业都是这样都会有个坎,公司永远都缺的高级人才,只用这样才能在大风大浪过后,依然闪耀不被公司淘汰不被社会淘汰。

为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师核心知识笔记》电子稿文件。

内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。

269页《前端大厂面试宝典》

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

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

前端面试题汇总

数组语法

绑定内联样式style

条件渲染

v-if指令

v-show指令

列表渲染

v-for指令

案例


安装-CDN引入

========

或者:


实例化Vue对象

========

el和data参数


new Vue({

el:“#vue-app”,

data:{

name:“ccy”

}

})

其中,

  • el代表element,指的是要获得的某个根元素节点

  • data用于数据存储

我们可以通过声明式渲染来使用这个name数据:

{{ name }}

效果:可以看到,在vue-app下渲染出一个h1标签,里面的内容正是data里的name

在这里插入图片描述

methods方法


methds存储自定义方法,可以用this来获取data中的数据,如this.name:

{{ greeting() }}

{{ name }}

Job:{{job}}

new Vue({

el:“#vue-app”,

data:{

name:“ccy”,

job:“web开发”

},

methods:{

greeting:function(){

return "Good morning " + this.name + “!”

}

}

})

效果:

在这里插入图片描述

computed:计算属性


对于任何复杂逻辑(开销大),都应当使用计算属性

计算属性缓存 vs 方法:

计算属性是基于响应式依赖进行缓存的,只在相关响应式依赖发生改变时它们才会重新求值

也就是,当计算属性涉及的变量发生改变时,计算属性的操作才会被执行,否则返回的只是之前计算的结果

例子:

当使用methods时

计算属性computed

<button @click=“a++”>A++

<button @click=“b++”>B++

A - {{a}}

B - {{b}}

Age + A = {{addToA()}}

Age + B = {{addToB()}}

new Vue({

el:“#vue-app”,

data:{

age:18,

a:0,

b:0

},

methods:{

addToA:function(){

console.log(“addToA”);

return this.age+this.a;

},

addToB:function(){

console.log(“addToB”);

return this.age+this.b;

}

}

})

效果:不论点击“A++”还是“B++’,都会触发addToA和addToB函数,打印出"addToA"和"addToB"

在这里插入图片描述

如果将addToA和addToB函数移到computed里

Age + A = {{addToA}}

Age + B = {{addToB}}

computed:{

addToA:function(){

console.log(“addToA”);

return this.age+this.a;

},

addToB:function(){

console.log(“addToB”);

return this.age+this.b;

}

}

效果:点击A++,只触发addToA函数;点击B++,只触发addToB函数

在这里插入图片描述

属性绑定


v-bind:单向绑定

有时我们需要在标签属性里使用data中定义的变量,但变量包裹在引号之间,会被直接当作字符串,不能发挥出我们想要的效果,如:

个人博客主页

个人博客主页

/* 实例化Vue对象中的data参数 */

data:{

name:“ccy”,

job:“web开发”,

personalBlog:“https://blog.csdn.net/qq_43523725”

}

效果:引号中的代码均被当作字符串,不能真的实现点击跳转到指定链接的功能

在这里插入图片描述

这个时候,我们需要使用v-bind指令,将变量从引号中提取出来,匹配它真正的含义

{{ greeting() }}

Name:{{name}}

Job:{{job}}

个人博客主页

v-html:渲染成html代码

如果我们想在字符串中嵌套一个html标签,需要使用v-html指令,将字符串里的代码解析成html代码

例子:

/* 实例化Vue对象中的data参数 */

data:{

name:“ccy”,

job:“web开发”,

personalBlobTag:“个人博客首页

}

{{ greeting() }}

Name:{{name}}

Job:{{job}}

效果:变量personalBlobTag被解析成html代码并渲染

在这里插入图片描述

v-model:双向绑定

通常一方输入,另一方显示,两者内容始终一致

例子: 将input标签的value值与name变量进行双向绑定:

name的初始值为“ccy”,因此input框默认值为“ccy”;当input输入了其他内容,name也发生改变。label标签负责实时显示name变量

双向绑定


效果:

在这里插入图片描述


事件

==

监听事件


基本使用:

  • 使用v-on指令;

  • 后面跟上事件名和处理函数名,处理函数可以不加括号,但传参时必须加括号

  • v-on指令可以省略成@:

加一岁

减十岁

<button @click=“reduce(1)”>减一岁

例子:

点击事件

不传参:当点击按钮时,触发add / reduce函数,让年龄加1 / 减1

event初识

加一岁

<button @click=“reduce”>减一岁

My age is {{age}}.

new Vue({

el:“#vue-app”,

data:{

age : 18

},

methods:{

add:function(){

this.age ++;

},

reduce:function(){

this.age–;

}

}

})

效果:点击“加一岁”,age就增加一岁;点击“减一岁”,age就减一岁

在这里插入图片描述

传参:

event初识

<button @click=“add(1)”>加一岁

<button @click=“add(10)”>加十岁

减一岁

My age is {{age}}.

new Vue({

el:“#vue-app”,

data:{

age : 18

},

methods:{

add:function(value){

this.age +=value;

},

reduce:function(){

this.age–;

}

}

})

效果:

在这里插入图片描述

鼠标事件

event初识

{{x}},{{y}}

new Vue({

el:“#vue-app”,

data:{

x:0,

y:0

},

methods:{

showXY:function(event){

this.x = event.offsetX;

this.y = event.offsetY;

}

}

})

效果:鼠标在div#show区域移动,显示鼠标相对这个div的XY坐标,初始值为(0,0)

在这里插入图片描述

事件修饰符


常用的有:

  • 阻止冒泡:.stop
  • 取消默认事件:.prevent
  • 只有一次生效:.once
  • 事件修饰符可以串联使用,如.stop.prevent,功能叠加

例子:

取消a标签的默认事件,即点击a标签后页面没有跳转:

<a @click.prevent href=“https://blog.csdn.net/qq_43523725”> 我的csdn博客主页

按键修饰符


常用的有:

  • 匹配回车触发:.enter
  • alt+回车触发:.alt.enter
  • 匹配空格触发:.space

例子:

event初识

<input type=“text” @keyup.enter=“logName”>

<input type=“text” @keyup.enter=“logAge”>

/* methods部分代码 */

logName:function(){

console.log(“姓名已输入完成!”)

},

logAge:function(){

console.log(“年龄已输入完成!”)

}

效果:

输入第一个input框,键盘敲击回车键后,触发logName函数,控制台输出“姓名已输入完成!”,

输入第二个input框,键盘敲击回车键后,触发logAge函数,控制台输出“年龄已输入完成!”

在这里插入图片描述


动态绑定class和style

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

绑定class


对象语法

使用v-bind指令绑定class,class的值为对象{class名:true / false},true时该class对应的功能生效,false时该class不生效

例子:

动态绑定CSS样式

new Vue({

el:“#vue-app”,

data:{

changeColor:true

}

})

.show {

width: 100px;

height: 100px;

background-color: red;

border: 2px solid #000;

}

.changeColor{

background-color: royalblue;

}

效果:

div.show原本的背景颜色是红色的(data中changeColor:false

结尾

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

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

html5

绑定class


对象语法

使用v-bind指令绑定class,class的值为对象{class名:true / false},true时该class对应的功能生效,false时该class不生效

例子:

动态绑定CSS样式

new Vue({

el:“#vue-app”,

data:{

changeColor:true

}

})

.show {

width: 100px;

height: 100px;

background-color: red;

border: 2px solid #000;

}

.changeColor{

background-color: royalblue;

}

效果:

div.show原本的背景颜色是红色的(data中changeColor:false

结尾

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

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

[外链图片转存中…(img-rEt9gvMk-1715721798405)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值