0
点赞
收藏
分享

微信扫一扫

前端JavaScripte二十五道面试题

乱世小白 2022-02-04 阅读 39

1.介绍js的基本数据类型

2.js有哪些内置对象?

3.this的理解

4.eval是做什么的?

5.DOM怎样添加,移出,移动,复制,创建和查找节点?

6.null和undefined的区别

7.new操作符具干了什么?

8.JSON的了解

9.call() 和apply() 的区别

function add(a,b){
            alert(a+b);
        }
    function sub(a,b){
            alert(a-b);
        }
    add.call(sub,3,1);
    add.apply(sub,[3,1]);

10.如何获取UA(User-Agent )
User-Agent是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。用较为普通的一点来说,是一种向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识

function whatBrowser() {
//获取完整的浏览器名称
document.Browser.Name.value=navigator.appName; 
//获取浏览器的版本,一般不与实际的浏览器版本对应
document.Browser.Version.value=navigator.appVersion; 
//获取浏览器的名称。通常都是Mozilla,即使在非Mozilla的浏览器中也是如此
document.Browser.Code.value=navigator.appCodeName; 
//获取浏览器的用户代理字符串
document.Browser.Agent.value=navigator.userAgent;

11.那些常见操作会造成内存泄漏?

12.线程与进程的区别

13.如何解决跨域问题?

14.javascript垃圾回收方法

15.快速 排序的思想并实现一个快排

<script type="text/javascript">
        function quickSort(arr){
            if(arr.length<=1){
                return arr;//如果数组只有一个数,就直接返回;
            }
            var num = Math.floor(arr.length/2);//找到中间数的索引值,如果是浮点数,则向下取整
            var numValue = arr.splice(num,1);//找到中间数的值
            var left = [];
            var right = [];
            for(var i=0;i<arr.length;i++){
                if(arr[i]<numValue){
                    left.push(arr[i]);//基准点的左边的数传到左边数组
                }
                else{
                   right.push(arr[i]);//基准点的右边的数传到右边数组
                }
            }

            return quickSort(left).concat(numValue,quickSort(right));//递归不断重复比较
        }

        alert(quickSort([32,45,37,16,2,87]));//弹出“2,16,32,37,45,87”
    </script>

16.ES6的了解

17.用过那些设计模式?

18.说说你对闭包的理解

19.请谈谈cookie的弊端

20.浏览器本地存储

21.cookie 和session 的区别

22.如何实现浏览器内多个标签页之间的通信?

23.js延迟加载的方式有哪些?

24.举例IE与其他浏览器不一样的特性

25.javascript对象的几种创建方式

举报

相关推荐

0 条评论