zoukankan      html  css  js  c++  java
  • php面试题之二——Javascript(基础部分)

    二、JavaScript部分

    1. JS 表单弹出对话框函数是?获得输入焦点函数是?

    弹出对话框函数:alert(), prompt(), confirm()
    获得输入焦点函数:focus()

    2. JS 的转向函数是?怎么引入一个外部 JS 文件?

    转向使用 window.location.href = ""
    引入外部 js 使用 <script src=""></script>

    3. 解释下面语句的意思:document.form["formName"].submit。(百度)

    获取 name 为 formName 的表单并将该表单数据提交到服务器。但这行代码是不能运行的,有两处错误,一是通过表单名称来获取表单得到时候,应该写成document.forms[‘formName’],提交表单事件使用submit 方法,需要加上括号,下面给出简单的示例代码:

    <form action="a.php" meathod="post" name="login" id="f1">
        用户名:<input type="text" name="username"/>
        <input type="button" id="btn" value="提交"/>
    </form>
    <script type="text/javascript">
        document.getElementById("btn").onclick=function () {
            if (document.forms['login'].username.value != '') {
                document.forms['login'].submit();
            }
        }
    </script>
    
    4. 有下面语句:<input id="txt" type="text" value="baidu" /> 编写代码,当鼠标划过文本框,自动选中文本框中的内容。(百度)
    <input id="txt" type="text" value="baidu"/>
    <script type="text/javascript">
        var textBox = document.getElementById('txt');
        textBox.onmouseover = function(){
            this.select();
        }
    </script>
    
    5. 设计一个网页,使得打开它时弹出一个全屏的窗口,该窗口中有一个文本框和一个按钮。用户在文本框中输入信息后点击按钮就可以把窗口关闭,而输入的信息却在主网页中显示。(新浪)

    主窗口:

    <a href="" id="a1" target="new">新窗口</a>
    <div id="msg"></div>
    <script type="text/javascript">
    	var a1 = document.getElementById('a1');
    	a1.onclick = function () {
    		window.open('new.html','new','location=no,toolbar=no');
    		return false;
    	}
    </script>
    

    弹出窗口:

    <input type="text" name="message" id="m1"/><br />
    <input type="button"value="关闭" id="btn"/><br />
    <script type="text/javascript">
        var btn = document.getElementById('btn');
        var message = document.getElementById('m1');
    
        btn.onclick = function(){
            var div = window.opener.document.getElementById('msg');
            div.innerHTML = message.value;
            window.close();
        }
    </script>
    
    6. 可以使用哪些方法使用 JavaScript 向服务器发出请求且不离开当前页面,简单对比各自的特点(如果存在)(酷讯)

    使用 XMLHttpRequest 对象异步请求

    7. 判断以下代码是否正确,如果有错,请指出错误,如果正确,请指出运行结果 (酷讯)
    var arr = new Array(
        new Array(1,2,3,4),
        new Array("abc", "def", "xyz"),
    );
    for(i = 0; i < arr.length; i++) {
    	document.write(arr[0]);
    }
    

    怀疑这个代码写错了,第二个 new array 后面的逗号是多余的,如果此处没问题,则代码是正确的,输出的结果是 1,2,3,4 1,2,3,4
    :arr 是一个二维数组,该数组有两个元素,第一个元素是数组[1,2,3,4],第二个元素也是一个数组为["abc", "def", "xyz"],for 循环语句执行了两次,但都是输出第一个元素,即数组[1,2,3,4]。

    [E]8. 用 JavaScript 写一个函数,其功能是可以删除数组中重复的元素。
    <script type="text/javascript">
    function array_unique(arr){
    	var result = arr;
    	for (var i = 0; i < arr.length; i++) {
    		for (var j = 0; i < arr.length; j++) {
    				temp = arr[i];
    				// 如果当前元素与后面某一个元素相等,则移除顶元素
    				if ((i+j+1) < arr.length && temp === arr[i+j+1]) {
    					result.splice(i+j+1,1);
    				}
    		}
    	}
    	return result;
    }
    
    var a = [4,7,8,5,8,6,43,7,0,false,'',{}];
    var b = array_unique(a);
    
    alert(b);//4,5,8,5,6,43,0,false,[object Object]
    </script>
    
    9. 以下哪条 JavaScript 语句会产生运行错误:( )

    A. var obj = ( );
    B. var obj = [ ];
    C. var obj = { };
    D. var obj = //;
    答案:A

    10. 请选择结果为真的表达式:( )

    A. null instanceof Object
    B. null === undefined
    C. null == undefined
    D. NaN == NaN
    答案:C

    11. foo 对象有 att 属性,那么获取 att 属性的值,以下哪些做法是可以的:( )

    A. foo.att
    B. foo("att")
    C. foo["att"]
    D. foo{"att"}
    E. foo["a"+"t"+"t"]
    答案:ACE

    12. 如何添加 html 元素的事件,有几种方法,举例

    (1).直接作为元素的属性,如<img onclick="alert( 'hello' );" src="hello.jpg">
    (2).使用 DOM 0 级事件,简单,兼容性好,如 img.onclick = function(){}
    (3).使用 DOM 2 级事件,功能更强大,在非 IE 等标准浏览其中,使用 addEventListener,在IE 浏览器中则使用 attachEvent 来实现。

    13. JavaScript 能否定义二维数组,如果不能你如何解决?

    JavaScript 不支持二维数组定义,可以用 arr[0] = new array()来解决。

    14. 假设 a.html 和 b.html 在同一个文件夹下面,用 JavaScript 实现当打开 a.html 五秒钟后,自动跳转到 b.html。
    <script type="text/javascript">
    	function go2b() {
    		window.location.href = "b.html";
    		window.close();
    	}
    
    	setTimeout("go2b()",5000);//5秒后自动执行go2b方法
    </script>
    
    15. 请使用 JavaScript 写出三种产生一个 image 标签的方法(提示:从方法、对象、HTML角度考虑)

    (1). var img = new Image();
    (2). var img = document.createElement("image")
    (3). img.innerHTML = "<img src='xxx.jpg' />"

    16. js 中网页前进和后退的代码

    前进: history.forward();或者 history.go(1);
    后退: history.back (); 或者 history.go(-1);

    17. 请写出一条至少 3 个节点的 DOM 树 (YG)
    <script type="text/javascript">
    	var div = document.createElement("div");
    
        var a = document.createElement("a");
    	a.href = "http://www.baidu.com";
    
    	var span = document.createElement("span");
    	span.innerHTML = "百度";
    
    	a.appendChild(span);
    	div.appendChild(a);
    	document.body.appendChild(div);
    </script>
    

    结果 HTML:
    <div><a href="http://www.baidu.com"><span>百度</span></a></div>

    18. 实现点击按钮弹出窗口的代码 (YG)
    document.getElementById( 'button' ).onclick = function(){
    window.open ('page.html');
    }
    

    其中,button 是按钮的 id,page.html 是要弹出的窗口页面。

    19. JavaScript 包括那些基本数据类型?(小米)

    JavaScript 中包括 5 种基本数据类型,分别是 Number,String,Boolean,Null 和 Undefined。

  • 相关阅读:
    3 Steps to Perform SSH Login Without Password Using sshkeygen & sshcopyid
    排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
    Ubuntu 取消 Apache及MySQL等自启动
    linux screen 命令详解
    Ubuntu把家目录文件夹名称改为英文
    Ubuntu12.10 下 PPA安装搜狗输入法 for Linux
    VirtualBox虚拟机后台运行
    Ubuntu下安装jdk
    [整理篇]linux加入windows域之完美方案
    pxe 远程安装linux系统
  • 原文地址:https://www.cnblogs.com/-shu/p/4600978.html
Copyright © 2011-2022 走看看