1 自我介绍
2面向对象,面向对象在哪些方面体现
面向对象的三大特征:1.继承 2.封装 3.多态性
(1)继承:就是保留父类的属性,开扩新的东西。通过子类可以实现继承,子类继承父类的所有状态和行为,同时添加自身的状态和行为。
(2)封装:就是类的私有化。将代码及处理数据绑定在一起的一种编程机制,该机制保证程序和数据不受外部干扰。
(3)多态:是允许将父对象设置成为和一个和多个它的子对象相等的技术。包括重载和重写。重载为编译时多态,重写是运行时多态。
3.http和https区别
1、HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(以前的网易官网是http,而网易邮箱是 https 。)
2、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。
3、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息)
4.git仓库拉取代码和上传代码
先配置信息
-
git config --global user.name “linlianhuao”
-
git config --global user.email “linlianhuao@qq.com”
创建仓库并提交代码
-
git init
-
git remote add origin git@gitlab.*.com:linlianhuao/.git
-
git add -A
-
git commit -m 建立项目
-
git push -u origin master
拉取远程代码
-
git clone git@gitlab.*.com:linlianhuao/.git
-
cd **
-
git add -A
-
git commit -m 提交信息
-
git push -u origin master
5.一个五升的桶和一个六升水的桶,来回倒,怎么能正好倒出三升水
先打五升水,倒入六升的水桶里, 再打五升水,将六升的水桶装满,五升的桶里还剩四升水,5+5-6=4 将六升的桶里的水倒掉,将五升的桶里的四升水倒入六升的桶里, 再打五升水,将六升的桶装满,五升的桶里还剩三升水。4+5-6=3
6.vue怎么引入组件
1、第一种引入和使用方法:
import navs from '@/views/nav/index'
使用组件:
components:{
'v-nav':navs
}
模板中使用组件:
<v-nav></v-nav>
2.第二种引入和使用方法
import navs from '@/views/nav/index'
import indexList from './index-list'
使用组件:
components: { navs,indexList },
模板中使用:
<index-list></index-list>
<navs></navs>
3、第三种使用方法
组件目录:
引入方式:
import BackToTop from '@/components/BackToTop'
使用组件:
components: { BackToTop },
使用组件:
<el-tooltip placement="top" content="tooltip">
<back-to-top :custom-style="myBackToTopStyle" :visibility-height="300" :back-position="50" transition-name="fade" />
</el-tooltip>
7.import和link的区别
1.加载顺序
link引入的css在加载页面时同时加载,而@import中的css要在页面加载完毕后加载
2.从属关系
link是HTML提供的标签
@import是css的语法规则,只能加载在style标签内和css文件中
3.兼容性
@import是css2.1时提出的,只能用于IE5+,而link不受兼容影响
4.DOM可控性
link支持js控制DOM改变样式,而@import不支持
8.v-for和v-if能同时使用吗
1.v-if和v-for不建议放在同一个标签里一起使用
2.当使用v-if来判断任何一个属性时,把属性跟改成计算属性(前提是v-if和v-for一起使用)
3.将v-if放置容器元素上
原因:v-for比v-if优先级高,所以使用的话,每次v-for都会执行v-if,造成不必要的计算,影响性能,尤其是当之需要渲染很小一部分的时候。
9.怎么自定义组件
(1)创建自定义组件
类似于页面,一个自定义组件由 json wxml wxss js 4个文件组成。要编 写一个自定义组件,首先需要在 json 文件中进行自定义组件声明(将 component 字段设为 true 可将这一组文件设为自定义组件):
{
"component": true
}
同时,还要在 wxml 文件中编写组件模板,在 wxss 文件中加入组件样式,它们的写法与页面的写法类似。具体细节和注意事项参见 组件模板和样式
注意:在组件wxss中不应使用ID选择器、属性选择器和标签名选择器。
在自定义组件的 js 文件中,需要使用 Component() 来注册组件,并提供组件的属性定义、内部数据和自定义方法。
组件的属性值和内部数据将被用于组件 wxml 的渲染,其中,属性值是可由组件外部传入的。更多细节参见 Component构造器 。
Component({
properties: {
// 这里定义了innerText属性,属性值可以在组件使用时指定
innerText: {
type: String,
value: 'default value',
}
},
data: {
// 这里是一些组件内部数据
someData: {}
},
methods: {
// 这里是一个自定义方法
customMethod: function(){}
}
})
(2)使用自定义组件
使用已注册的自定义组件前,首先要在页面的 json 文件中进行引用声明。此时需要提供每个自定义组件的标签名和对应的自定义组件文件路径:
{
"usingComponents": {
"component-tag-name": "path/to/the/custom/component"
}
}
这样,在页面的 wxml 中就可以像使用基础组件一样使用自定义组件。节点名即自定义组件的标签名,节点属性即传递给组件的属性值。
<view>
<!-- 以下是对一个自定义组件的引用 -->
<component-tag-name inner-text="Some text"></component-tag-name>
</view>
自定义组件的 wxml 节点结构在与数据结合之后,将被插入到引用位置内。