欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

分享几道前端面试题

程序员文章站 2022-08-14 22:58:47
一.谈谈对优化性能优化的认识?怎么优先加载? 1、减少http请求,合理设置 http缓存 2、使用缓存 3、启用压缩 4、css sprites 合并 css图片,减少...

一.谈谈对优化性能优化的认识?怎么优先加载?

1、减少http请求,合理设置 http缓存

2、使用缓存

3、启用压缩

4、css sprites

合并 css图片,减少请求数的又一个好办法。

5、lazyload images

6、css放在页面最上部,javascript放在页面最下面

7、异步请求callback(就是将一些行为样式提取出来,慢慢的加载信息的内容)

8、减少cookie传输

9、javascript代码优化 ( (1). dom (2). 慎用 with  (3). 避免使用 eval和 function (4). 减少作用域链查找 (5). 数据访问 (6). 字符串拼接)

10、css选择符优化

cdn加速 反向代理

二、说说php和js的(或者相比其他语言)区别优势和特点

php:

特性:

(1). php 独特的语法混合了 c、java、perl 以及 php 自创新的语法。

(2). php可以比cgi或者perl更快速的执行动态网页——动态页面方面,与其他的语言相比,

php是将程序嵌入到html文档中去执行,执行效率比完全生成html标记的cgi要高许多;

php具有非常强大的功能,所有的cgi的功能php都能实现。

(3). php支持几乎所有流行的以及操作。

(4). 最重要的是php可以用c、c++进行程序的扩展!

优点:

(1)、运行在web服务器端:学会了php,web网站的大部分数据都是存储在服务器端的,php就是用来处理这些存储在服务器的数据。

(2)、跨平台:服务器可以是多种平台的服务器,比如linux、windows、unix

(3)、脚本语言:它是通过编写脚本,也就是一行行的计算机指令来指挥服务器来工作的

(4)、免费:免费使用。

js:特性:

(1)是一种解释性脚本语言(代码不进行预编译)。

(2)主要用来向html(标准通用标记语言下的一个应用)页面添加交互行为。

(3)可以直接嵌入html页面,但写成单独的js文件有利于结构和行为的分离。

(4)跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如windows、linux、mac、android、ios等)。

(5)基于对象。javascript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象

(6)弱类型语言,对使用的数据类型未做出严格的要求

五、缓存和预加载的区别是什么

缓存就是把请求过的数据缓存起来,下次请求的时候直接使用缓存内容,提高响应速度

预加载指的是提前把需要的内容加载完成,访问的时候可以提高响应效率,比如图片的预加载(可以提前加载一定数量的图片,

当用户访问图片的时候一般只看前几张,由于是预加载好的,所以速度比较快)

七、javascript中未初始化的变量和未定义的变量的区别

简单理解 变量未定义,就是根本没有var(声明)这个变量.

而变量未初始化,其实也就是变量根本没赋值.

例如:

就是给变量赋值,然后对变量进行操作

var a=2; //变量初始化

var b=3;