zoukankan      html  css  js  c++  java
  • 前端面试题整理---JS基础

    为了督促自己学习,整理了一下前端的面试题

    JavaScript:

         JavaScript 中如何监测一个变量是String类型?

    typeof(obj)==="string";
    typeof obj ==="string";
    obj.constructor ===string

      JS中清除字符串空格的方法

           方法一:使用正则匹配

    // 去除所有的空格
    var str1 = strings.replace(/s*/g,"");
    // 去掉两头的空格
    var str2 = strings.replace(/(^s*|s*$)/g,"");
    //去掉左边空格
    var str3 = strings.replace(/^s*/,"");
    // 去掉右边空格
    var str4 = strings.replace(/s*$/,"");
    实例
    var strings = "  this is an apple  ";
    // 去除所有的空格
    var str1 = strings.replace(/s*/g,"");
    console.log(str1);
    // 去掉两头的空格
    var str2 = strings.replace(/(^s*|s*$)/g,"");
    console.log(str2);
    //去掉左边空格
    var str3 = strings.replace(/^s*/,"");
    console.log(str3);
    // 去掉右边空格
    var str4 = strings.replace(/s*$/,"");
    console.log(str4)
    

      方法二:使用str.trim()的方法

           使用具有局限性,只能去除两头的空格,使用trimLeft()、trimRight()分别都只能去除字符串两端的空格

    str = strings.trim();
    

      方法三:使用jQuery$.trim()

    $.trim()函数会移除字符串开始和结尾处的所有换行符,空格(包括连续的空格)和制表符(tab)。如果这些空白字符在字符串中间时,它们将被保留,不会被移除

    var str = $.trim(str);
    

     你如何获取浏览器URL中查询字符串中的参数?

      测试地址:http://www.runoob.com/jquery/misc-trim.html?chanelid=123&name=lilei&age=23

    var url = 'http://www.baidu.com?name=lilei&age=26&pwds=123456
    unction showHref (holeHref){
        var args = holeHref.split('?');
        if(args[0] ==holeHref){
            return ""
        }
        var argArr = args[1].split('&');
        var objs = {};
        for(var i=0;i<argArr.length;i++){
            var arg = argArr[i].split('=');
            objs[arg[0]] = arg[1];
        }
        return objs
        // var argLastOne = argArr[argArr.length-1];
    }
     var href  =showHref(url);
    console.log(href['age']);
    

      JS字符操作字符串的方法:

           concat() --将两个或多个字符串拼接,返回新的字符串

        indexOf()--返回字符串中一个字符串出现的第一个位置,如果没有,返回-1;

      charAt()---返回指定位置的字符;

      lastIndexOf()--返回字符串中一个字符最后一处出现的索引;若没找到,返回-1;

      match()--检查字符串是否符合一个正则表达式;

      substring()--返回字符串从开始位置,到结束位置之间的字符串;

      substr()--返回字符串的一个子字符串,传入的参数是开始位置和长度为length的字符串;

      slice()--提取字符串的一部分,返回新的字符串;

        replace()--用来匹配查找一个正则表达式的字符串;

      split()--将一个字符串按照传入参数分割成几个字符串,并存入数组中

      length--返回字符串的长度,所谓的长度是包含字符的个数

      toLowerCase()--字符串的长度转成小写

      toUpperCase()--字符串的长度转成大写

    var str1 = 'this is an apple';
    var str2 = ' this is a pen';
    var str3 = 'THIS IS AN APPLEPEN';
    // 1、concat()方法
    console.log(str1.concat(str2));//this is an apple this is a pen
    // 2、indexOf()的方法
    console.log(str1.indexOf('i'));//2---第一次出现i的位置
    // 3、charAt()
    console.log(str1.charAt(3));//s--返回在3位置处的字符
    //4、lastIndexOf()
    console.log(str1.lastIndexOf('p'));//13---若不传参,则返回-1;否则返回左后一次出现参数的位置
    // 5、match()
    var reg = /[t|i]/ig;
    console.log(str1.match(reg));//[ 't', 'i', 'i' ]--如果返回null,说明没有符合正则的字符;
    // 6、substr()
    console.log(str1.substr(2,6));//is is 返回在2位置到6位置处的字符串,包含空格
    // 7、slice()
    console.log(str1.slice(2,6));//is i 返回在2--6位置之间的字符,含头不含尾
    //8、substring()
    console.log(str1.substring(2,6));//is i 返回在2--6位置之间的字符,含头不含尾
    // 9、split()
    console.log(str1.split(' '));//[ 'this', 'is', 'an', 'apple' ]将字符串按照参数的形式划分成子字符串,返回到数组中
    //10、length()
    console.log(str2.length);//14
    // 11、toLowerCase()
    console.log(str3.toLowerCase());//this is an applepen
    // 12、toUpperCase()
    console.log(str1.toUpperCase());//THIS IS AN APPLE
    

     怎样添加、创建、移动、复制、查找节点 

    1、创建节点

       createDocumentFragment()---创建文档片段

       createElement()--创建一个具体的元素

       createTextNode()--创建文本节点

    2、添加、移除、替换、插入

      appendChild()//添加

      removeChild()//移除

      replaceChild()//替换

      insertBefore()//插入

    3、查找

           getElementById()--根据id属性查找DOM元素

      getElementByName()--根据name属性查找DOM元素

      getElementByTagName()--根据标签名查找DOM属性

    写出3个使用this的典型应用  

    // 1、this在HTML中的应用
     <input type="button" onclick="showInfo(this)" value="点击一下">
    // this--指的是该元素
    // 2、构造函数使用
    function userThis (name,color){
        this.name = name;
        this.color = color;
    }
    //事件发生时
    var btn = document.getElementById('button');
     btn.click(function () {
         alert(this.value)
     });
    //在apply()/call()求数组中的最值
    var numbers = [5,24,64,332,568,97];
    var maxNumbers = Math.max.apply(this,numbers);
    console.log(maxNumbers);//568
    maxNumbers = Math.max.call(this,5,24,64,332,568,97);
    console.log(maxNumbers);

       比较typeof与instanceof?

    相同点:JavaScript 中 typeof 和instanceof 常用来判断一个,变量是否为空,或者是什么类型的

    typeof的定义和用法:返回值是一个字符串,用来说明变量的数据类型

    返回值:

    ①:typeof 一般只能返回如下几个结果:number,boolean,string,function,object,undefined

    ②:typeof:来获取一个变量是否存在,如 if(typeof a!="undefined"){alert("ok")},而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错。

    ③对于Array,Null等特殊对象使用typeof一律返回object,这是该函数的局限性

    instanceof定义和用法:instanceof 用于判断一个变量是否属于某个对象的实例

    var a = 'this is a charCode';
    console.log(typeof a);//string
    var b = 0;
    console.log(typeof b);//number
    var c = true;
    console.log(typeof c);//boolean
    var d = undefined;
    console.log(typeof d);//undefined
    var e = [1,2,3,3];
    console.log(typeof e);//object
    var f = function(){
        alert('this');
    };
    console.log(typeof f);//function
    var g = {};
    g.name = 'jack';
    console.log(typeof g);//object
    var h = null;
    console.log(typeof h);//object

    console.log(a instanceof Object)//false
    console.log(g instanceof Array)//false
    console.log(e instanceof Array)//true
    console.log(e instanceof Object)//true
    数组也属于对象,数组是Object的子类

      

  • 相关阅读:
    C++用于修饰的keyword
    UVa 884
    yii 使用 mongodb 小工具 YiiMongoDbSuite
    三种网络协议握手
    学习设计模式的前世今生
    B二分法
    链接链接新手变化需要注意哪些问题
    插值与拟合 课件链接
    UVa 740
    疯狂暑期学习计划~~~
  • 原文地址:https://www.cnblogs.com/bllx/p/8531678.html
Copyright © 2011-2022 走看看