zoukankan      html  css  js  c++  java
  • 一些积累(做阿里笔试题)……

    1.请说明下面各种情况的执行结果,并注明产生对应结果的理由。
    function doSomething() {
      alert(this);
    }
    ① element.onclick = doSomething,点击element元素后。
    ② element.onclick = function() {doSomething()}, 点击element元素后。
    ③ 直接执行doSomething()。
     
    解析:
    ①弹出element object,通过函数赋值方式,this直接指向element对象
    ②弹出window object,this是写在doSomething这个函数里面的,而这种方式的事件绑定写法并没有将element对象传递给this,而在默认情况下this指向window
    ③弹出window object,没有绑定对象的情况下this默认指向window
     
    2.请用JavaScript语言实现 sort 排序函数,要求:sort([5, 100, 6, 3, -12]) // 返回 [-12, 3, 5, 6, 100]。
     
    function sort(arr){
     for(var i=0;i<arr.length-1;i++){
     for(var j=0;j<arr.length-i-1;j++){
     if(arr[j]>arr[j+1]){
     var hand=arr[j];
     arr[j]=arr[j+1];
     arr[j+1]=hand;
     }
     }
     }
     return arr;
    }
     
    或者:
    var arr = [-12,3,5,6,100];
    arr.sort(function(a,b){
        return a-b;
    });
     
    3.编写一个JavaScript 函数toRGB,它的作用是转换CSS中常用的颜色编码。
    alert(toRGB("#0000FF"));          // 输出 rgb(0, 0, 255)
    alert(toRGB("invalid"));          // 输出 invalid
    alert(toRGB("#G00"));               // 输出 #G00
     
    function toRGB(color) {
        var regex = /^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
        match = color.match(regex)
        return match ? 'rgb('+parseInt(match[1], 16)+','+parseInt(match[2], 16)+','+parseInt(match[3], 16)+')' : color
    }
     
     
    4.请编写一个JavaScript函数,它的作用是校验输入的字符串是否是一个有效的电子邮件地址。要求: a)   使用正则表达式。 b)   如果有效返回true ,反之为false。
    var checkEmail  = function(email){
    var preg = 
            "(^[a-zA-Z]|^[\w-_\.]*[a-zA-Z0-9])@(\w+\.)+\w+$",,
        pregObj  =new RegExp(preg);
        return pregObj.test(email);
    }
     
    5.编写一段JavaScript脚本生成下面这段DOM结构。要求:使用标准的DOM方法或属性。
    <div id=”example”>  
        <p class=”slogan”>淘!你喜欢</p>
    </div>
     
     window.onload = function() {
                var div = document.createElement('div');
                div.id = "example";
                var p = document.createElement('p');
                p.className = "slogan";
                p.innerHTML = '淘!你喜欢';
                div.appendChild(p);
                document.body.appendChild(div);
            }
    6.编写一个通用的事件注册函数
    function addEvent(element, type, handler)
    {
        // 在此输入你的代码,实现预定功能
    }
     
     
    function addEvent(element, type, handler)
    {
        // 在此输入你的代码,实现预定功能
     
        if (element.addEventListener)
        {
            element.addEventListener(type, handler, false);
        }
        else if (element.attachEvent)     //for IE
        {
            element.attachEvnet(“on” + type, handler);
        }
        else
        {
            element[“on” + type] = handler;
        }
    }
     
    7.编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象,如:
     
    var url = “http://www.taobao.com/index.php?key0=0&key1=1&key2=2.....”
    var obj = parseQueryString(url);
    alert(obj.key0)  // 输出0
     
    function parseQueryString ( name ){
      name = name.replace(/[[]/,"\[").replace(/[]]/,"\]");
      var regexS = "[\?&]"+name+"=([^&#]*)";
      var regex = new RegExp( regexS );
      var results = regex.exec( window.location.href );
      if( results == null )
        return "";
      else
        return results[1];
    }
     
    8.用JSON语法编写一个对象: “小明今年22岁,来自杭州。兴趣是看电影和旅游。他有两个姐姐,一个叫小芬,今年25岁,职业是护士。还有一个叫小芳,今年23岁,是一名小学老师。” 
    var person = ?
     
    var person = {"name":"小明","age":"22","form":"杭州","interest":["电影","旅游"],"sister":
    [{"name":"小芬","age":"25","job":"护士"},{"name":"小芳","age":"23","job":"小学老
    师"}]};
     
     
  • 相关阅读:
    关于==和equals的区别和联系,面试这么回答就可以
    (附运行结果和截图)关于try{return}finally中都有return 运行结果测试之旅
    [已解决]踩过的坑之mysql连接报“Communications link failure”错误
    JVM虚拟机----运行时数据区-------方法区
    JVM虚拟机------运行时数据区------堆
    JVM虚拟机-----运行时数据区-----本地方法栈
    JVM虚拟机栈------运行时数据区------方法的调用
    JVM虚拟机-----运行时数据区------动态链接
    JVM虚拟机栈------运行时数据区-------栈顶缓存技术
    JVM虚拟机-----运行时数据区-----JVM虚拟机栈-----操作数栈
  • 原文地址:https://www.cnblogs.com/liushuang001/p/5113982.html
Copyright © 2011-2022 走看看