深圳市小水滴网络科技有限公司(套题)

深圳市 2018-10-18 105
选择题 填空题 问答题 编程题 试题难度
0 0 5 0 一般
试题信息收集不易,转发请带上出处,不甚感谢!如果您对任何编程问题还有疑问,欢迎点击下方按钮向老师提问!
问答题
  • 1、js的基本数据类型有哪些?
  • 基本数据类型:String,boolean,Number,Undefined, Null

    引用数据类型:Object, Array, Function

  • 2、js获取dom的方法有哪些?添加事件的方法有哪些?并请回答以下选择器代表队的意思
    (1).comtainer>input[type="radio"]:checked
    (2).item+.item
  • JS获取DOM元素的方法

    通过ID获取(getElementById)

    通过name属性(getElementsByName)

    通过标签名(getElementsByTagName)

    通过类名(getElementsByClassName)

    获取html的方法(document.documentElement)

    获取body的方法(document.body)

    通过选择器获取一个元素(querySelector)

    通过选择器获取一组元素(querySelectorAll)

    添加事件的方法

    1.在按钮中添加事件

    2.通过onclick方法添加,有两种写的方式

    3.通过addEventListener()添加

  • 3、请简述js函数this指向分为哪些情况
  • THIS的常见的四种情形:

    1.纯粹的作为函数调用:全局函数中,this指向window。

    2.作为对象方法的调用:当函数被作为某个对象的方法调用时,this就是那个对象。

    3. 作为构造函数调用:this指向新对象‘。

    4.apply、call调用:this指向改变后的调用这个函数的对象。

  • 4、请使用XMLHttpRequest创建一个异步Ajax请求;要求Content-Type为application/x-www-form-urlencoded;方法为post;并发送数据
    
    a=1,b=2;服务器返回内容为json
    
  • var nums ={

    a:1,

    b:2}

    var request=new XMLHttpRequest();

    //4.准备发送请求的数据:url

    var url=this.href +"?time="+new Date()

    var method="POST"

    //5.调用xmlhttprequest对象的open方法

    request.open(method,url);

    request.setRequestHeader("ContentType","application/x-www-form-urlencoded");

    //6.调用xmlhttprequest对象的send方法,get请求参数为null

    request.send(nums);

    //7.为xmlhttprequest对象添加onreadystatechange响应函数

    request.onreadystatechange=function(){

    //8.决断响应是否完成:xmlhttprequest对象的readystate属性值为4

    if(request.readyState==4){

    //9.再决断响应是否可用:xmlhttprequest对象status属性值为200

    if(request.status==200){

    //10.打印响应结果:responseText

    var result = JSON.parse(xhr.responseText);

    alert(result );

    }

    }

  • 5、请实现一个对象深拷贝函数,要求将以下对象拷贝为一个新对象
    {
       name:"ice",
       age:18,
       label:["Humor"],
       Address:{
          country:"China",
          Province:"GuangZhou",
          city:"ShenZhen"
       }
    }
  • 可以使用Object.create可以达到深拷贝的效果


    var obj = finalObj || {};   

     for (var i in initalObj) {     

      var prop = initalObj[i];    // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况

      if(prop === obj) {       

       continue;

      }     

      if (typeof prop === 'object') {

       obj[i] = (prop.constructor === Array) ? [] : Object.create(prop);

      } else {

       obj[i] = prop;

      }

     }   

     return obj;

    }

还能输入{{limitInput-companyComment.length}}个字符