企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
[TOC] ### 1、undefined和null的区别 null:空值,使用typeof运算得到 “object” undefined:当一个声明了一个变量未初始化时,得到的就是undefined。 >[success] undefined是访问一个未初始化的变量时返回的值,而null是访问一个尚未存在的对象时所返回的值。因此,**可以把undefined看作是空的变量**,**null值则是表示空对象指针** ***** ### 2、前端优化 **加载优化:** 1.合并css,js 2.缓存一切可以缓存的资源 3.使用外联式引用css、js 4.减少cookie **css优化:** 1.css写在头部,js写在尾部或异步 **网络方面:** 减少http请求 ***** ### 3、jsonp的实现原理: 它是在文档中插入一个script标签,创建\_callback方法,通过服务器配合执行\_callback方法,并传入一些参数 ### 4、document.write和innerHTML的区别 document.write会将页面上的所有内容清除包括标题。 innerHTML只会重写所属元素的内容,即`<div>`元素中的内容。 ### 5、dns解析 tcp 1. 域名解析 2. 发起TCP三次握手建立连接 3. 建立连接后发起http请求 4. 服务器响应请求,浏览器获取html源码 5. 浏览器解析html代码,并请求相关css,js和图片资源 6. 浏览器渲染页面 ### 6、垂直水平居中 - 定位,left,top各为50%,margin-left和margin-top各为宽高的负二分之一 - 定位,left,top各为50%,transform为负50% - 定位,上下左右都为0,margin:auto - flex布局,给父元素justify-content: center;align-items: center; - grid布局,给父元素,justify-items: center;align-items: center; - table布局,给父元素,display: table-cell;vertical-align: middle;text-align: center; ### 7.form标签中action属性的作用是? 向何处发送表单数据。 ### 8.JS中this怎么理解 事件中:指向当前对象 方法中:谁调用方法指向谁 ### 9.es6新增了哪些特性 1.运用let声明变量(块级作用域 不能重复声明 不会声明提前) 2.箭头函数,解决了this指向问题 3.展开、解构、默认赋值 4.继承语法 5.Promise 6.class 7.Modules ***** ### 10.json对象转换成字符串 json.stringify(obj):json对象转换成字符串 json.parse(string): 字符串转换成json对象 ***** ### 11.js中把7.25转换成一个整数 ``` var a = 7.25; parseInt(a); console.log(a); ``` ``` var a = Math.floor(7.25); console.log(a) ``` ``` var a = Math.round(7.25); console.log(a) ``` ***** ### 12.解决间隙留白问题 ``` <style type="text/css"> * { margin: 0; padding: 0; } .test { width: 600px; border: 1px blue solid; font-size:0; /**/ } .test div { width: 100px; height: 100px; display: inline-block; background: blue; vertical-align:bottom;/**/ } </style> ``` ``` <div class="test"> <div></div> <div></div> <div></div> <div></div> <div></div> </div> ``` ***** ### 13.js中的定时器有哪些?以及它们之间的区别 - 超时调用setTimeout(),在一段实际之后调用(在执行代码之前要等待多少毫秒) ``` function test(){ alert("孙悟空"); } setTimeout(test,2000); //2s后弹出“孙悟空” ``` - 间歇调用setInterval(),指定的时间内不断地重复执行代码 ``` function test(){ alert("孙悟空"); } setInterval(test,2000); //间隔2s弹一次“孙悟空” ``` ### 14.子元素无法设置margin-top的问题 - 给父元素overflow: hidden; - 给伪元素 .one::before{} ***** ### 15.作用域 ``` var num1 = 12; var num2 = 34; function xiao(num,num1){ num = 134 ; num1 = 453 ; var num2 = 123; console.log(num); //134 console.log(num1); //453 console.log(num2); //123 } xiao(num1,num2) console.log(num1); //12 console.log(num2); //34 如果function里面的num不用var 将会是123 console.log(num); //报错 ``` ### 16.贪婪模式和懒惰模式 贪婪模式 : ``` var str = "123456abc"; var reg = /\d{3,6}/; //{3,6}就是最少3个最多6个 console.log(str.replace(reg,"*") //*abc 贪婪模式就选择了最多的 ``` 懒惰模式: ``` var str = "123456abc"; var reg = /\d{3,6}?/; //{3,6}就是最少3个最多6个 console.log(str.replace(reg,"*"))//*456abc 懒惰模式选择了最少 ``` ### 17.状态码 ![](https://box.kancloud.cn/040addcc2805180c1a27bbd139bc5cbf_991x474.PNG) 503——Service Unavailable——网页程序没有相关的结果