面试总结
css中有哪些函数
- calc
- var
- min
- max
- repeate
css如何html(js)传递变量(参数)
<!--通过style属性定义变量, 并传递给元素对象-->
<div style="--color:red"></di>
如何进行代码部署
- jenkins
- CI&CD
- CI: continue intergration( 持续集成)
- CD: continue delivery/deploy(持续交付/部署)
git使用命令
- git init
- git add .
- git commit -m
- git push
- git pull
- git branch 分支名称
- git checkeout 分值名称
- git reset 版本号 --hard
- git merge 分支名称
- git stash: 暂存当前分支代码, 而不提交( git stash list / git stash pop )
- git log --oneline
- git reflog
vue如何实现国际化(多语言)
-
vue-i18n插件
npm i vue-i18nimport {createI18n} from 'vue-i18n'; var i18n=createI18n({ locale:'en', fallbackLocale:'zh', messages:{ en:{ message:{ msg:"hello" } }, zh:{ message:{ msg:"你好" } }, ja:{ } } }); const app=createApp(); app.use(i18n);<h1>{{$t('message.msg')}}</h1>
async和defer有什么区别?
script标签上添加async和defer属性主要用于控制外部JavaScript脚本的加载和执行方式,它们之间的主要区别在于脚本的执行时机、顺序以及是否阻塞页面解析。
-
执行时机和顺序:
-
defer属性:脚本将按照HTML文档的顺序加载,并在文档解析完毕后执行。多个带有defer属性的脚本会按照它们在文档中的顺序依次执行。这意味着脚本的执行不会阻塞页面的解析,而是等待HTML解析完成后再执行。如果页面中有多个带有defer属性的脚本,它们将按照加载顺序执行12。
-
async属性:脚本的加载和页面其他内容的加载是异步进行的,不会阻塞HTML文档的解析过程。脚本加载完成后会立即执行,不保证多个带有async属性的脚本的执行顺序。这意味着脚本的加载和执行可能与页面的其他部分并行进行,且不保证按照文档中的顺序执行12。
-
是否阻塞页面解析:
-
两者都不会阻塞页面的初始解析,即浏览器在遇到带有defer或async属性的script标签时,会继续解析HTML文档,而不会等待JavaScript脚本的加载和执行完成。这一点与没有使用defer或async属性的script标签的行为形成对比,后者会阻塞页面的解析直到脚本加载和执行完毕34。
-
依赖关系和处理:
-
对于需要按照特定顺序加载和执行的脚本,使用defer属性可以确保它们按照文档中的顺序依次执行,后面的脚本可以依赖前面的脚本。这适用于需要按照一定顺序执行的脚本场景2。
-
async属性下的脚本加载和执行顺序不确定,适用于那些没有依赖关系、可以并行加载和执行的脚本。如果脚本之间存在依赖关系,使用async可能会导致执行顺序混乱,从而引发问题。