JS面试题及答案总结

1. 截取字符串abcdefg的efg 

<div id="test">abcdefg</div>

var mytext=document.getElementById("test");
var myvalue=mytext.innerHTML;
var jiequ=myvalue.substring(4); 

2. 写出一下运算结果 


alert(typeof(null))  // object 
alert(typeof(undefined))  // undefined 
alert(typeof(NaN))  // number 
alert(NaN==undefined)  // false 
alert(NaN==NaN)  // false 
var str="123abc"; 
alert(typeof(str++)) // number 
alert(str) // NaN

3.写出程序运行的结果?

for(i=0, j=0; i<10, j<6; i++, j++){ 
k = i + j;

结果:10(小心陷阱)

4. 用正则怎样去掉重复的字符串,只保留一个

var str= "aaaebbbcccddd";
str = str.replace(/(.)\1+/g,‘$1‘);

alert(str);

5. 以下哪个在JAVASCRIPT中会报错: 
var a=(); 
var a=[]; 
var a={}; 
var a=//;

var a=();var a=//; 报错     两个不行!

6. 下面代码执行结果是什么?

<script> 
  alert(typeof addB); 
  function addB() { 
  alert("function addB"); 
  } 
  var addB = "variable"; 
  alert(addB); 
</script>

执行结果是"function"和"variable"。 
JS解析器先预定义了 addB 变量为 undefined, 但是 addB 函数覆盖了此变量,因此一开始执行结果是 function,然后 addB 被赋值为 "variable",因此最后执行结果是 "variable",上面的代码即使变为

Js代码

<script> 
  alert(typeof addB); 
  function addB() { 
  alert("function addB"); 
  } 
  var addB = "variable"; 
  alert(addB); 
</script>

结果也一样,这说明JS解析器先预声明变量,再预定义函数 。 
小结一下:JS 在执行前会进行类似"预编译"的操作,而且先预定义变量再预定义函数。

时间: 2024-10-10 09:38:35

JS面试题及答案总结的相关文章

今日头条上看到的js面试题和答案

用js判断字符中每个字符出现的次数, 答案是var info = arr.split('').reduce((a,b)=>(console.log(a,b),a[b]++ || (a[b]=1),a),{}); 这里面运用到了es5,6的reduce和箭头函数,琢磨半天才明白,把箭头函数简化成普通函数可以写成这样 var info = arr.split('').reduce(function(a,b){ if(a[b]){ a[b]++ ; }else{ a[b]=1; } return a;

js面试题及答案(一)不喜,可放肆喷

1.找出数字数组中最大的元素(使用Match.max函数)Math.max.apply(null, [1,2,3]); 2.转化一个数字数组为function数组(每个function都弹出相应的数字)function transition(numArray) {  var num;  for (var i = 0, len = numArray.length; i < len; ++i) {    num = numArray[i];    numArray[i] = (function (j

前端js面试题

以下都是网上整理出来的JS面试题,答案仅供参考. /2,截取字符串abcdefg的efg//alert('abcdefg'.substring(4)); //3,判断一个字符串中出现次数最多的字符,统计这个次数/*var str = 'asdfssaaasasasasaa';var json = {}; for (var i = 0; i < str.length; i++) {        if(!json[str.charAt(i)]){                json[str.c

网上整理的JS面试题

以下都是网上整理出来的JS面试题,答案仅供参考. /2,截取字符串abcdefg的efg//alert('abcdefg'.substring(4)); //3,判断一个字符串中出现次数最多的字符,统计这个次数/*var str = 'asdfssaaasasasasaa';var json = {}; for (var i = 0; i < str.length; i++) {        if(!json[str.charAt(i)]){                json[str.c

10个常见的Node.js面试题

如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力. 对现实世界开发中遇到的问题,需要的是随机应变与团队合作,所以你可以尝试结对编程. Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听8

腾讯web前端开发工程师笔试题及答案

1. 如何实现事件委托? 首先要知道什么是事件委托. 考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少遇到这么多li的情况),为每个li添加事件侦听就会对页面性能产生很大的影响. 就像下面这段代码: <!DOCTYPE HTML><html><head><meta charset="utf-8" /><ti

Node.js 面试问题及答案(2017 版)

阅读原文 两年前,我们发布了我们的第一篇关于 Node.js 面试的文章 Node.js 面试常见问题和答案,近两年,JavaScript 和 Node.js 生态系统有了很多更新和发展,因此,是该更新这些面试问题和答案的时候了. 免责声明(重要) 仅仅通过面试问题去评价一个面试者,从来都不是一个好的选择.但是这些问题可以让你大体了解面试者在 Node.js 开发上的经验. 当然,这些问题并不能全面反映一个人的思维方式和开发习惯. 我相信,开发中遇到的问题,更能反映面试者的知识水平 - 所以,我

Android 面试题及答案(2)

1.Activity相关.launchmode,OnSaveInstnceState,生命周期等. 4种默认的launchmode,以及OnNewIntent的回调. OnNewIntent->OnRestart->OnStart->onResume OnActivity->OnResume. OnNewIntent ,OnActivityResult? OnNewIntent launchmode with singletask or singleInstance. but if

jQuery经典面试题及答案精选(转)

jQuery是一款非常流行的Javascript框架,如果你想要从事Web前端开发这个岗位,那么jQuery是你必须掌握而且能够熟练应用的一门技术.本文整理了一些关于jQuery的经典面试题及答案,分享给正要面试Web开发岗位的同学. 问题:jQuery的美元符号$有什么作用? 回答:其实美元符号$只是”jQuery”的别名,它是jQuery的选择器,如下代码: $(document).ready(function(){ }); 当然你也可以用jQuery来代替$,如下代码: jQuery(do