zoukankan      html  css  js  c++  java
  • 面试4(每日打卡)

    13. 添加 删除 替换 插入到某个接点的方法

        添加:$("div").appendChild("li")

        删除:$("div").removeChild("li")

        替换:$("div").replaceChild("li")

        插入:$("div").insertChild("li")❌ 获取的dom元素.insertBefore(新元素,获取的dom元素)  把新的元素插入到获取的dom元素.的前面(新的,就的)

        1》创建新的节点:

            document.createElement("div")//创建一个具体的元素

            document.createTextNode()//创建一个文本节点

            元素创建的三种方式:document.write("标签的代码及内容"),对象.innerHTML="标签及内容",document.createElement("标签名")

        2》查找节点

            document.getElementsByTagName()//通过标签名

            document.getElementsByClassName()//通过类名

            document.getElementById()//通过id标识名

            document.querySelector("#id")

            document.querySelectorAll(".class")

    14. 解释jsonp的原理,以及为什么不是真正的ajaxs

        jsonp是动态创建script标签,回调函数;

        ajax是页面无刷新请求数据操作

    15. document onload 和document ready的区别

        前者是js的,要等页面加载完毕才执行里面的代码,包括等待图片的加载;

        后者是jquery的,要要等页面加载完毕后才执行里面的代码,但是不等待图片的加载;

    答案:前者是在结构和样式,外部js以及图片加载完才执行内部的js代码;

       后者是 dom树创建完就执行的方法,原生中没有这个方法,jquery中的;

    16. ”==”和“===”的不同

        == 只要值相同就可以了

        ===要类型,值都要相等

    答案:==会自动转换类型,再判断是否相等

       后者不会自动转换类型,直接拿去比较

    17. 函数声明与函数表达式的区别?

        不知道哦

    答案:在javaScript中,解析器会率先读取函数声明,并使用其在执行任何代码之前可以用(可以访问),而函数表达式,则必须等到解析器执行到它所在的代码行,才会被真正解析执行。

    区别就是:函数声明率先执行,函数表达式按代码顺序执行

    18. 对作用域上下文和this的理解,看下列代码:

    var User = {
     count: 1,
     getCount: function() {
      return this.count;
     }
    };
    console.log(User.getCount()); // what?
    var func = User.getCount;
    console.log(func()); // what?
    问两处console输出什么?为什么?
      1 ,undefined
    第一个是因为 是有了user这个对象,在user.getCount,要到前面去找定义的count;
    第二个是因为:是将user中的函数拿出来了,直接赋值给func,没有定义的count,就是undefined;


    20. 当一个DOM节点被点击时候,我们希望能够执行一个函数,应该怎么做?

      1》box.onclick=function(){}//直接绑定事件
      2》box.addEventListener("click",function(){},false);//绑定监听事件
      3》<button onclick="xxx()"></button>

    21. Javascript的事件流模型都有什么?

        冒泡事件:从内到外,触发事件❌

    答案:“事件冒泡”:事件开始由最具体的元素接受,然后逐级向上传播,(从里到外)

       “事件捕捉”:事件由最不具体的节点先接收,然后逐级向下,一直到最具体的,(从外到里);

       “DOM事件流”:3个阶段:事件捕捉,目标阶段,事件冒泡

        

        

    22. 看下列代码,输出什么?解释原因。

    var a = null;
    alert(typeof a);
    Onject 因为定义a,没有赋值

    答案:null是一个只有一个值的数据类型,这个值就是null。标识一个空指针对象,所以用typeof检测会返回object

    23. 判断字符串以字母开头,后面可以是数字,下划线,字母,长度为6-30

       str.test(/^[a-zA-Z]\w{5,29}$/)

    25. javaScript的2种变量范围有什么不同?

        全局变量:在这个页面中都有效;

        局部变量:在定义这个局部变量的函数里面有效 

    答案:全局变量:当前页面有效;局部变量:函数方法内有效

    27. new操作符具体干了什么呢?

        创建了一个新的对象❌

    答案:(1).创建一个空对象,并且this变量引用该对象,同时还继承了该函数的原型。

       (2).属性和方法被加入到this引用的对象中

       (3).新创建的对象由this所引用,并最后隐式的返回this

    31. 希望获取到页面中所有的checkbox怎么做?(不使用第三方框架)

        var Inputs =document.getElemrntsByTag("input");//获取页面中所有的input标签

        var CheckBoxs=[];//定义一个存放checkboxs的空数组

                 for(var i = 0; i < Inputs.length ; i++ ){  
          if(Inputs[i].type=="checkboxs"){
                CheckBoxs.push(Inputs[i]);//存放      

          }

     
  • 相关阅读:
    Django终端打印SQL语句
    Django之缓存
    Django总结三
    Django之信号
    Django之Form的ModelForm
    git下
    Ajax实现文件的上传
    operator模块
    Django之Form自定义验证规则
    New Concept English Two 32 88
  • 原文地址:https://www.cnblogs.com/hou-yuan-zhen/p/11710829.html
Copyright © 2011-2022 走看看