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

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的子类

  

前端面试题整理---JS基础的更多相关文章

  1. 前端面试题整理——Javascript基础

    常见值类型: let a; //undefined let s = 'abc'; let n = 100; let b = true; let sb = Symbol('s'); let nn = N ...

  2. 好程序员分享Web前端面试题汇总JS篇之跨域问题

    为什么80%的码农都做不了架构师?>>>   好程序员分享Web前端面试题汇总JS篇之跨域问题,接着上一篇文章我们继续来探讨web前端面试必备面试题. 跨域解决方案 1. 通过jso ...

  3. 各大互联网公司前端面试题(js)

    对于巩固复习js更是大有裨益.    初级Javascript: 1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型 ...

  4. 【web前端面试题整理02】前端面试题第二弹袭来,接招!

    前言 今天本来准备先了解下node.js的,但是,看看我们一个小时前与一个小时后的差距: 既然如此,我们继续来搜集我们的前端面试题大业吧!!! 特别感谢玉面小肥鱼提供哟,@玉面小飞鱼 题目一览 Jav ...

  5. 【web前端面试题整理06】成都第一弹,邂逅聚美优品

    前言 上周四回了成都,休息了一下下,工作问题还是需要解决的,于是今天去面试了一下,现在面试回来了,我感觉还是可以整理一下心得. 这个面试题整理系列是为了以后前端方面的兄弟面试时候可以得到一点点帮助,因 ...

  6. 前端面试题整理(js)

    1.HTTP协议的状态消息都有哪些? HTTP状态码是什么: Web服务器用来告诉客户端,发生了什么事. 状态码分类: 1**:信息提示.请求收到,继续处理2**:成功.操作成功收到,分析.接受3** ...

  7. 【web前端面试题整理08】说说最近几次面试(水)

    为什么换工作 换工作简单来讲一般会归纳为钱不够或者人不对,我们团队氛围很不错,所以基本就定位到钱不够了,而我更多是考虑到以后的职业发展,简单说来就是对以后几年的工作有想法,而这种想法实现不一定能在现在 ...

  8. 2019届校招前端面试题整理——HTML、CSS篇

    前言 2019届校招陆陆续续开始了,整理了一些高频的面试题. HTML部分 1. 什么是<!DOCTYPE>? DOCTYPE是html5标准网页声明,且必须声明在HTML文档的第一行.来 ...

  9. 前端面试题之js篇

    前端面试也可为是鱼龙混杂,各公司面试题的种类也大不相同,有的公司注重基础语法,面试题偏于ES,有的公司偏于页面逻辑,会考差一些js的应用,现将遇到过的题和典型的题整理一下. 1. 0.2-0.1 == ...

随机推荐

  1. Java for LeetCode 117 Populating Next Right Pointers in Each Node II

    Follow up for problem "Populating Next Right Pointers in Each Node". What if the given tre ...

  2. LeetCode:矩形区域【223】

    LeetCode:矩形区域[223] 题目描述 在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积. 每个矩形由其左下顶点和右上顶点坐标表示,如图所示. 示例: 输入: -3, 0, 3, 4, ...

  3. POJ - 1321 棋盘问题 【DFS】

    题目链接 http://poj.org/problem?id=1321 思路 和N皇后问题类似 但是有一点不同的是 这个是只需要摆放K个棋子就可以了 所以 我们要做好 两个出口 并且要持续往下一层找 ...

  4. A. Drazil and Date

    这是codeforces#292 div2 的一道题,因为本人比较水,目前只能做div2了.问题简化版就是: 从 (0,0) 走到 (a, b) ,s 步能不能走完.每次能向上下左右走,且只能走一步. ...

  5. MVC+Ext.net零基础学习记录(四)

    在上一篇文章[MVC+Ext.net零基础学习记录(三)]中提到了利用MVC的Area可以做到项目分离,但是实际操作起来还是有很多问题的.比如,对于物理资源的访问,会报:没有相关资源 开始的时候,我在 ...

  6. Too many open files解决方案及原理

    以下是我解决Too many open files异常时学习的知识的理解和总结,如有不正确指出,敬请指出! 此问题中文搜索雷同,你可以尝试以下关键字:"file descriptor lea ...

  7. COM中[int],[out],[out,retval]的含义

    COM中在声明函数中通常会这样: HRESULT getName([in]int ID,[out,retval]*BSTR name) 实现函数时,这样: STDMETHODIMP Person::g ...

  8. __declspec(dllimport)的小秘密(转)

    昨天和同事使用一个dll(lib+dll)的时候,发现他在引用头文件是,并没有使用__declspec(dllimport),但是程序完全运行正常,不明觉厉下,去网上翻了下资料,原来是链接器的原因,这 ...

  9. leetcode 66. Plus One(高精度加法)

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...

  10. Linux下的Tomcat JVM 调优

    1. 适用场景 Tomcat 运行过程遇到Caused by: java.lang.OutOfMemoryError: PermGen space或者java.lang.OutOfMemoryErro ...