2021-12-13 16:34:20
号码段为131到139的11位手机号码正则校验:
答案:/^13[1-9][0-9]{8}$/
解析:此正则表达式匹配以13开头,第二位为1-9,后跟8位数字的11位手机号码。
移动端通过链接调起拨打电话:
答案:<a href="tel:10086">10086</a>
解析:在HTML中使用tel:协议链接,点击后可调起拨号界面。
代码输出结果:
答案:
"teacher"Uncaught ReferenceError: s is not defined解析:var声明的变量t具有函数作用域,而let声明的变量s具有块级作用域。在代码块外访问s会报错。
HTTP协议状态码:
答案:
200: OK(请求成功)
400: Bad Request(客户端请求错误)
500: Internal Server Error(服务器内部错误)
JavaScript算术运算及ES6字符串模板:
答案:
'10' + 1 结果为 '101'(字符串拼接)
'10' - 1 结果为 9(字符串转换为数字后运算)
ES6字符串模板:`${ting}室${shi}厅${wei}卫`
ES6解构赋值:
答案:let {name: n, age: a} = obj;
解析:将obj对象的name属性赋值给n,age属性赋值给a。
HTTP/HTTPS协议默认端口号:
答案:
HTTP:80
HTTPS:443
名词解释:
答案:
MVC:模型-视图-控制器,将应用分为三个核心部件。
MVP:模型-视图-表示器,表示器处理用户交互。
MVVM:模型-视图-视图模型,视图模型自动同步模型和视图。
Flex布局实现垂直居中对齐:
答案:
.box { display: flex; align-items: center;}CSS3的box-sizing属性:
答案:
content-box:默认值,宽度和高度仅包含内容。
border-box:宽度和高度包含内容、内边距和边框。
switchCase函数执行结果:
答案:
switchCase(0):输出default(严格比较,0不等于'0')
switchCase('0'):输出case 0和case 1(无break语句)
switchCase():输出undefined(未传参时value为undefined)
CSS隐藏元素的方法及区别:
答案:
display: none:不占据空间,无法交互。
visibility: hidden:占据空间,无法交互。
opacity: 0:占据空间,可以交互。
position: absolute; left: -9999px:移出可视区域。
代码执行结果:
答案:
s.getS():输出student(this指向s)
s.getS.apply(t):输出teacher(this指向t)
getS():输出undefined(this指向全局对象,无s属性)
getS1.call(t):输出student(bind已固定this为s)
移动端适配方案:
答案:
视口设置(<meta name="viewport">)
媒体查询(@media)
rem单位(基于根元素字体大小)
弹性布局(Flexbox/Grid)
百分比布局
随机打乱数组顺序的函数:
答案:
function shuffleArray(arr, fixedIndex = -1) { const array = [...arr]; for (let i = array.length - 1; i > 0; i--) { if (i === fixedIndex) continue; const j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } return array;}解析:使用Fisher-Yates洗牌算法,跳过固定索引的元素。
比较APP版本号的函数:
答案:
function compareVersions(v1, v2) { const parts1 = v1.split('.').map(Number); const parts2 = v2.split('.').map(Number); const maxLength = Math.max(parts1.length, parts2.length); for (let i = 0; i < maxLength; i++) { const num1 = parts1[i] || 0; const num2 = parts2[i] || 0; if (num1 > num2) return 1; if (num1 < num2) return -1; } return 0;}解析:将版本号拆分为数字数组,逐级比较。