java面试总结2

原创
小哥 3年前 (2022-11-16) 阅读数 45 #大杂烩

1、javascript如何实现冒泡排序?





    
    
    
    Document
    
    
    
          
	



    


冒泡排序优化





    
    
    
    Document
    
    
    
          
	



    


2、封装一个函数正则匹配获取当前页面中的class类名

function getClass() {
  var arr = [];
  var str2 = document.getElementsByTagName("html")[0].innerHTML;
  var reg = /class=[|"]?([w+s]+)[|"]?/g;
  var flag1 = str2.replace(reg, function ($0, $1) {
    arr.push($1);
  });
  return arr;
}
console.log(getClass());

其中获取页面内容,使用的document.getElementsByTagName(“html”)[0].innerHTML。但这方法,会包括注释里的内容。

函数中正则是匹配class的内容,但是为什么写[’|"]?呢?因为html中设置class有三种方式:class=“value” class=‘value’ class=value ,所以使用非贪婪获取单引号,双引号,或者没有。真正需要的class的值使用小括号当做捕获组内容。然后因为一个元素可能含有多个类名,所以匹配字符和空格,并且是贪婪的(+)。

然后在接下来的replace函数中,将匹配的$1捕获组也就是匹配的小括号内容也就是class里的值添加到数组中,解释一下这里$0返回的是整个的class匹配,也就是正则对象的匹配内容class="value"这样的。最后返回数组。

3、ajax原理是什么?

Ajax是Asynchronous JavaScript and XML的缩写。

Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求.

4、前端开发移动端与PC端比有哪些不同?

  • pc端有ie,chrome,ff内核兼容问题移动端,简单来说兼容问题相对较少。但是移动端要做好多分辨率的处理。移动端所有图片和所有html标签的尺寸都要减半。
  • 第一、普通移动端网页(比如手机新浪网,手机淘宝,手机百度等)这个在js方面和PC端区别不是太大;主要的区别在于移动端没有了鼠标悬停(onmouseover);点击(onclick)还可以用;多了触摸、滑动(会用一些插件)。
  • 第二、canvas相关游戏canvas相关的html5增加了好多js;

5、类的继承



 

 
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门