web前端面试题附答案017-你写代码喜欢加分号吗?(要小心面试官随口说的每句话!)

本文主要是介绍web前端面试题附答案017-你写代码喜欢加分号吗?(要小心面试官随口说的每句话!),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

后续陆续推出大学生解惑系列文章,欢迎把疑惑发给我

一、面试官不说废话

        你要小心,很多时候面试官口头随和的说我就是随便问问,没事你随便说说,怎么说都行,你就大概说一下,没事没事,你要小心,面试官可不说闲的没事干,他有那时间摸会儿鱼不好吗?非得跟你在这里唠嗑。也许你不经意间就会跳坑,深坑,深不见底

二、那些随意的小坑坑

        1、你写代码喜欢加分号吗?

        很多时候大家都会听到,哪怕很厉害的人也会说分号这个东西,建议加上,其实不加也行,换个行就行啦。说的没错。

<script>var age = 15function getAge() {var age = 16console.log(age)}
</script>

        但你如果观察最终浏览器里执行的压缩后的代码,或者不压缩的代码,你会发现,都带上了分号。而你所谓的不加也行也不报错,那是因为浏览器在解析你的代码的时候,经过监测发现没有分号,然后浏览器就认为应该加的地方给加上了。

        这就导致了2个问题,第一他认为该加的地方加上了,程序嘛总是死的,他哪知道我要干啥,所以免不了浏览器给我们弄得意思不一样了;第二呢,代码本该快速执行,但是浏览器监测后,又加分号,无疑是增长了时间。

        现在你还觉得分号可加可不加吗?

        2、if语句后面加括号吗?

<script>if (a === 3)console.log(a); var age = 15;
</script>

        没错,不断的有人说if语句后面如果很简短,不加也行,又不会报错,但是建议都加上。你看,大家总是记住了这句建议什么什么,但是觉得建议既不是义务也不是责任,这就是坑。你不加浏览器就会在解析的时候帮你加,而且他只会给后面紧跟着的一行代码加,这倒是没问题。但问题总是出现于不经意。

        3、js代码中用单引号还是双引号?

                我记得还看过相关文章,说单引号是最佳实践

                路人甲:

                

        还有人说看过国外文献,说单引号是最佳实践的。

        其实在es6出来之前,很多时候涉及到单双引号的互相嵌套,没办法,里面变量太多了,甚至有时候怎么套都不好使。而很多团队也规定,我们在HTML中更推荐双引号,js中更推荐单引号。

        但我想说我的一点想法:我经过尝试,也看了很多网站最终浏览器中的js代码,不管是jq的网站,还是后来vue react ,webpack打包也好,最终大家的js里面都是双引号。还是这篇文章我要说的,你不管怎么写,最后很可能又让浏览器增加了解析时间,给你转成了双引号。

        

这篇关于web前端面试题附答案017-你写代码喜欢加分号吗?(要小心面试官随口说的每句话!)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/249157

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加