• 先刷一波简单的web前端面试题


    1简述一下src与href的区别
    href 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。
    src是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。

    2简述同步和异步的区别
    同步是阻塞模式,异步是非阻塞模式。
    同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;
    异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率

    JS部分
    1、怎样添加、移除、移动、复制、创建和查找节点?

    1)创建新节点
    createDocumentFragment() //创建一个DOM片段
    createElement() //创建一个具体的元素
    createTextNode() //创建一个文本节点

    2)添加、移除、替换、插入
    appendChild() //添加
    removeChild() //移除
    replaceChild() //替换
    insertBefore() //插入

    3)查找
    getElementsByTagName() //通过标签名称
    getElementsByName() //通过元素的Name属性的值
    getElementById() //通过元素Id,唯一性
    document.querySelector("选择器")//这个比较通用 

    2、实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。 递归

    <script>
            function clone(obj){
                    var o;
                    switch(typeof obj){
                            case "undefined":break;
                            case "string":o=obj+"";break;
                            case "number":o=obj-0;break;
                            case "boolean":o=obj;break;
                            case "object":if(obj===null){
                                    obj=null
                            }else{
                                    if(Object.prototype.toString.call(obj).slice(8, -1)==="Array"){
                                            o=[];
                                            for (var i = 0; i < obj.length; i++) {
                                                    o.push(clone(obj[i]));
                                            };
                                    }else{
                                            o={};
                                            for(key in obj){
                                                    o[key]=clone(obj[key]);
                                            }
                                    }
                            };break;
                            default :o=obj;break;
                    }return o;
    
            }
            console.log(clone(["1","2"]));
    </script>


    写一个function,清除字符串前后的空格。(兼容所有浏览器)

    function trim(str) {
        if (str & typeof str === "string") {
            return str.replace(/(^s*)|(s*)$/g,""); //去除前后空白符
        }
    }

    web前端/H5/javascript学习群:250777811

    想了解我的更多动态?欢迎关注我的微信公众号:web前端EDU

  • 相关阅读:
    CocoaPods的安装和使用
    HTTP协议(一)
    iOS常用设计模式之观察者模式
    git使用方法
    关于网络开发中XML的使用
    观察者模式的具体应用——通知(notification)机制和KVO(KeyValueObserving)机制
    HTTP协议(二)之HTTP请求
    iOS常用设计模式之委托模式
    x ^y mod m
    Problem A: 速算24点
  • 原文地址:https://www.cnblogs.com/gongyue/p/7910279.html
Copyright © 2020-2023  润新知