• js 基础面试题


    function printArray(arr){

    for(var i in arr){

    if(arr[i] instance of Array){

    printArray(arr[i]);

    }else{

    document.write(arr[i]+' ');

    }

    }

    }

    var data=[1,[20,21],[[301,302],[310,[311]]];

    printArray(data);

    上述代码运行后,页面输出结果为?

    答:1 20 21 301 302 310 311

    函数printArray 使用了递归方式,逐一输出数组中的每个成员,中间可以用空格隔开

    instanceof运算符使用来测试一个对象在其原型链中是否存在一个构造函数的prototype属性

    什么是栈?

    栈是一种运算受限的线性表,期限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对的把另一端称为栈底。向一个栈插入新元素又称作进栈,入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素称为新的栈顶元素

    push,从最末尾压入

    pop,从末尾删除

    shift,从首删除

    unshift 从首压入

    什么是正则表达式?如何使用正则表达式?

    正则表达式本身就是一个字符串,由一些普通字符串和特殊字符串组成的,用以描述一种特定的字符规则的表达式

    在JavaScript中正则表达式的应用分为两种;

    1,结合string对象的replace search match方法实现对字符串的替换,查找和匹配;

    2,定义正则表达式对象,实现对字符串的复杂匹配操作。

    var regexp=/do/ig;
    var data='He does told to Do,do.';
    console.log(data.search(regexp));
    输出16
    代表字母边界
    ig通常连在一起
    表示不区分大小写。g表示从头到尾都查找。
    search表示找到后返回下标


    阅读如下代码

    function add(num){
    try{
    num=Number(num);
    if(isNaN(num){
    throw new Error(‘Argument is NaN’);
    }
    console.log('try block end');
    }catch(e){
    console.log('catch block');
    return;
    }finally{
    console.log('finally block');
    }console.log('function end');
    }
    add('10x');
    问 上述代码运行后,输出结果为?
    答案:
    先输出 catch block ;在输出finally block
    因为,try catch语句是一个用作异常处理的语句,当程序出错以后会走执行catch
    所以输出catch block;
    而finally 始终都会运行,因此会继续输出。 当程序发生异常的时候,将推出,因此不会再执行其他语句。



  • 相关阅读:
    JVM内存结构
    JVM中的类加载
    数据库索引详解
    Spring IOC 总结
    Java多线程(一)—— 常见问题整理
    Java集合框架 面试问题整理
    Java8 Lambda表达式
    vue开发技巧
    mysql(MariaDB)问题处理
    字符串非空判断的效率问题
  • 原文地址:https://www.cnblogs.com/beautiful-jingjing/p/6168402.html
Copyright © 2020-2023  润新知