工作问题记录总结2021--4

1

问题:正则如何匹配img标签

解决方法

关于字符串替换replace的理解和实际使用

匹配正则img字符串 let reg = /<img\b.*?(?:\>|\/>)/gi

 

 

 

2

问题:如何实现,一个页面底部有一个加载条的动画?

解决方法:

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Document</title>

  <style>

    .span {

      width: 120px;

      height: 100px;

      vertical-align: middle;

      border-radius: 1px;

      margin-right: 100px;

      background-color: pink;

    }

    .battery {

      width: 69px;

      height: 14px;

      border: 1px #03a9f4 solid;

      border-radius: 2px;

      position: relative;

      -webkit-animation: charge 5s linear infinite;

      -moz-animation: charge 5s linear infinite;

      animation: charge 5s linear infinite;

      top: 40px;

      margin: 0 auto;

    }

    @keyframes charge {

      0% {

        box-shadow: inset 0px 0px 0px #03a9f4;

      }

      100% {

        box-shadow: inset 30px 0px 0px #03a9f4;

      }

    }

  </style>

</head>

<body>

  <div class="span">

    <div class="battery"></div>

  </div>

</body>

</html>

3

问题:如何使用api-mock js文件跟服务端进行交互

1 下载地址

https://registry.npm.taobao.org/api-mock-js/download/api-mock-js-0.1.9.tgz

2 支持promise,每次请求返回的都是promise对象

3 支持jsonp请求,需要对请求进行设置,具体用法如下

主要是要对jsonp进行配置说明,在第三个对象参数中,设置请求域名,请求类型,以及请求的urlModel

 

 

 

4

问题:你有什么自己的命名规则?

文件夹名,使用下划线,如

 

class名字:使用横杠,如

 

js变量名字,使用驼峰命名,如

 

5

问题:window.onload 方法有的理解?

window.onload() 方法用于在网页加载完毕后立刻执行的操作,即当 HTML 文档加载完毕后,立刻执行某个方法。

window.οnlοad=function(){

方法1,

方法2

}

6

问题:Vue如何设置动态宽度高度或者动态样式?

解决方法:

`background-image:" url${config.19.img}

1. 添加样式绑定

绑定高试样式

<div class="container" :style="{height: scrollerHeight}"> </div>

2. 添加属性计算

在computed里添加属性计算。记住 scrollerHeight 不能在data进行定义。

computed是啥?请看看 computed的使用

computed: { // 滚动区高度 // (业务需求:手机屏幕高度减去头部标题和底部tabbar的高度,当然这2个高度也是可以动态获取的) scrollerHeight: function() { return (window.innerHeight - 46 - 50) + 'px'; } }

7

问题:在移动端,有时候点击的时候会出现闪烁,怎么去除这个闪烁效果?

解决方法:

去除移动端点击闪烁效果

-webkit-tap-highlight-color: transparent;

-webkit-tap-highlight-color: rgba(0, 0, 0, 0);

8

问题:js代码混淆的网址是什么?

https://www.obfuscator.io/

9

问题:需要注意,vue中,dom更新是异步的,而不是同步

vue中DOM的更新是异步的,不是同步,而 this.$nextTic

能够在DOM发生后,触发里面的回调函数

10

问题:DOMContentLoaded 和 load 事件的区别

1 DOMContentLoaded --- 当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表、图像和子框架的完成加载。

 window.addEventListener(

      "DOMContentLoaded",

      function () {

        initRem()

      },

      false

    )

2 load --- 仅用于检测一个完全加载的页面,页面的html、css、js、图片等资源都已经加载完之后才会触发 load 事件。

11

问题:vue中插槽的使用

1 子组件通过放置  <slot></slot> 标签来表明他这里有一个插槽位置

2 父组件可以在子组件中,写入html 标签代码。如下图,是最简单的插槽代码

 

 

上面是最最简单的插槽的使用方法

下面是具名插槽的使用方法

1 在子组件中,给 slot 取一个name,属性和值

2 在父组件中,使用v-slot = name的值,来把插槽放到对应的位置,如下图

 

 

如对插槽做进一步了解:可参考以下网址

https://www.cnblogs.com/mandy-dyf/p/11528505.html

12

问题

如下图所示动态绑定src,不显示图片,将路径换成网络图片地址又可以显示

 

 

解决方法

引用本地图片需要加上require,使用require定义之后,就可以动态使用了,不用require你就只能写死的。不用 :src="’…/img/image.jpg’" 会被解析为字符串

 

13

问题:怎么监听微信浏览器返回按钮事件?

解决方法:

window.addEventListener("popstate", function(e) { alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能 }, false);

14

问题;使用什么可以控制电脑的node 版本?

解决方法:

使用nvm

15

问题:我们想要移除元素的某个css属性时,将属性赋值为空有时不能达到我们想要的效果,应该怎么处理?

解决方法:可以使用下面的方式,赋值为’initial’。

$('.giftBox').css('height','initial');

16

问题:当你遇到不懂的代码,写不出来的时候,怎么去获取别人的网站特效源码?

解决方法

1 先百度下载一个仿站小工具

2 然后去这个网站,找自己要的特效:https://www.jsdaima.com/

3 然后把网址复制进我们的防站小工具,获取源码

4 记得下载下来的jq是有问题的,可以按需求进行替换

17

问题:在某些场景下,没有注册组件,但会报错,但这个标签在某个环境下是存在的?如:

<wx-open-launch-weapp> 标签,在vue中是没有的,但在微信环境中是存在的,所以需要对报错进行处理,怎么处理?

解决方法:

// 接除警告

Vue.config.ignoredElements = ['wx-open-launch-weapp']

18

问题:input,button,之间存在间距,需要怎么处理

解决方法:

给父元素添加font-size:0px

19

问题:在vue中,路由跳转,传参和接收参数是怎么做的?

传参

this.$router.push({path: '/vipDetails', params: {data: obj}})

接收参数

在目标页面通过this.$route.params获取参数

20

问题:undefined 和 null 相等吗?

解决方法:如下图

2个等,相等,不判断类型

3个等,不相等,判断了类型,undefined 是undefined 类型,null 是object 类型

 

21

问题:网页后台的搜索,怎么做?用户体验会更好

解决方法:

参照 巨量引擎 分门别类的进行搜索,

可以下拉和展开

按照某一种类进行分组和分类

 

22

问题:一个div内出现了url,但无法换行?怎么使用css解决?

解决方法

css控制Url换行

word-break: break-word;

23

问题:你是怎么理解闭包的?闭包函数?

解决方法:

在面试过程中,如果遇到问闭包的,就要马上联想到,函数内,再定义一个函数,这样,内部的函数能够访问外部函数的变量,就是闭包,这个函数也成为闭包函数

所以说,闭包是函数与函数之间,联系的桥梁

24

问题:原生js怎么创建dom?

解决方法

document.createElement('span') //创建dom

setAttribute("className","red") //添加指定的属性,并为其赋指定的值。

xxx.appendChild() // xxx为某个dom节点, 添加 子dom

25

问题:怎么创建一个文本节点?或者说,怎么理解document.createTextNode()方法?

解决方法:

使用document.createTextNode(”你好,我是文本内容“)

如果,我想要在某个节点下,添加文本内容--你好,世界,则可以使用以下代码

 var txtDom = document.createTextNode(‘你好,世界’)

 dom.appendChild(txtDom) --- dom是你要添加的某个节点

26

问题:如果在A站点与B站点进行通信?

解决方法:

使用postMessage(),进行跨域

27

问题:你对数据量过大,渲染卡顿,你是怎么进行优化的?

解决方法:

利用setTimeout,使用定时器,分批次进行加载

28

问题:对表格table渲染,你有什么更好的操作?

解决方法

可以使用vxe - table

链接:https://xuliangzhan_admin.gitee.io/vxe-table/#/table/start/install

29

问题:如果列表需要拖动,需要怎么实现?

解决方法:

使用sorttable.js ,详细用法自行百度

30

问题:怎么实现对xls文件的识别?

使用xls.js

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值