正文
continue跳过本次循环,执行下一次循环。
2. i++和++i的区别?
答案:
i++ :先用i值后加1,
++i :先加1后用i值,
计算:var n=5; 求 var num=n++ + ++n + n++ + ++n+n; //37
3. JavaScript都有哪些数据类型?
答案:
原始类型:数值型/字符串型/布尔型/undefined/null
引用类型:对象
**4. 自调用函数是什么?**用于什么地方?
答案:立即执行的函数。 (function(){ //函数体 })();
用于创建一个局部作用域。
5. slice和splice有什么区别?
答案:
slice截取子数组 ,从指定的数组中,截取几个连续的元素组成一个新数组
splice允许从指定数组中,删除一部分元素,同时再添加另一部分元素
6. typeof返回的类型有哪些?
答案:
number、string 、boolean 、undefined 、object 、function ex: var arr=[1,2,3,4,5]; console.log(typeof(arr)); //object function myDemo(){ return function test(){}; } console.log(typeof(myDemo())); //function
7. 取 1~11之间的随机数 (即包括1不包括11)?
答案:
Math.floor(Math.random()*10+1) parseInt (Math.random()*10+1)
8. 什么是变量声明提前?
答案:
使用var关键字声明的变量,会将声明提升到所在作用域的最前边。。
9. push、pop、shift和unshift 区别?
答案:
这两组同为对数组的操作,并且会改变数组的本身的长度及内容。
不同的是push()、pop() 是从数组的尾部进行增减,unshift()、shift() 是从数组的头部进行增减。。
10. 例举4种强制类型转换和3种隐式类型转换?
答案:
强制转换:parseInt/parseFloat/Number/toString
隐式转换:
字符串+数值 数值转字符串
数值+布尔型 布尔型中true转为1,false转为0
字符串+布尔型 布尔型转为字符串。
11. 函数声明与函数表达式的区别?
答案:
相同点:两者都可以创建函数。
不同点:函数声明可以存在函数提升(前),函数表达式不存在函数提升(前)。
//函数声明 function myFunction(){ function innerFunction() {} } //以下为函数表达式 var myFunc = function(){}; myFunc(function(){ return function(){}; } );
12. 请指出JavaScript宿主对象和原生对象的区别?
答案:
宿主对象:指JavaScript解释器提供的对象,由解释器厂家自定义并提供实现,不同的解释器提供的扩展对象存在较大的差异(DOM和BOM对象)。
原生对象:JavaScript语言本身预定义的对象,在ECMAScript标准中定义,由所有的解释器厂家来提供具体实现(Array,Date,Math,Number,String,Boolean等)。
13. js中有哪些内置函数?
**答案:**Object,Array, Boolean, Number, String, Function, Date, Math, RegExp, Error, Global
14.列举出获取日期相关函数
答案:
console.log(Date.now()); // 返回当前日期和时间’1970/01/01 00:00:00’之间的毫秒值 var dt = newDate(); // 获取当前时间—年 月 日 时 分 秒 console.log(dt.getTime()); //返回当前日期和时间’1970/01/01 00:00:00’之间的毫秒值 console.log(dt.getFullYear()); // 年份 console.log(dt.getMonth()+1); // 月份(0-11) console.log(dt.getDate()); // 日期(0/1-31) console.log(dt.getDay()); //星期(0-6) console.log(dt.getHours()); // 小时(0-23) console.log(dt.getMinutes()); // 分钟(0-59) console.log(dt.getMilliseconds); // 返回毫秒(0-999) console.log(dt.getSeconds()); // 秒(0-59)
15.Math相关函数
**答案:**
Math.random()- 返回 0 ~ 1 之间的随机数 Math.abs(x) -``返回数的绝对值 Math.ceil(x)- 向上取整 Math.floor(x)- 向下取整 Math.round() 四舍五入 Math.max() 和 Max.min() 获取一组数据中的最大值和最小值 Math.PI 获取圆周率π 的值Math.pow() 获取一个值的多少次幂 Math.sqrt() 对数值开方 Math.pow(10,2) = 100; Math.sqrt(100) = 10;
16.null和undefined的区别?
答案:
undefined是访问一个未初始化的变量时返回的值,
null是访问一个尚不存在的对象时所返回的值。因此,可以把undefined看作是空的变量,而null看作是空的对象。
17.和=有什么不同?
答案:
== 抽象相等,比较时,会先进行类型转换,然后再比较值;
===严格相等,判断两个值相等同时数据类型也得相同。
18.setTimeout和setInterval的区别是什么?
答案:
二者都是用来设置定时操作的。
setTimeout: 设置一个定时器,在定时器到期后执行一次函数或代码段
setInterval: 设置一个定时器,以固定的时间间隔重复调用一个函数或者代码段
19. 请说出以下代码执行结果
for (var i = 0; i < 3; i++) { setTimeout(function() { console.log(i); }, 0); console.log(i); }
**答案:**0 1 23 3 3,执行过程如下
var i = 0; console.log(i); i++; console.log(i); i++; console.log(i);i++; setTimeout(function() { console.log(i); }, 0); setTimeout(function() { console.log(i); }, 0); setTimeout(function() { console.log(i); }, 0); //输出 0 1 2 3 3 3
20. 请说出(true+flase)>2+true的执行结果
答案:false
21. 当前代码块输出结果是什么?
var z=10; function foo(){console.log(z);} (function(funArg){var z=20;funArg();})(foo);
答案:10,自调用函数。
22. setTimeout(function(){},10)表示什么意思?
答案:每隔10毫秒调用一次函数。
23. 程序中捕获异常的方法?
答案:
try{ }catch(e){ }finally{ }
24. 以下代码执行结果?
var uname = ‘jack’ function change() { alert(uname) // ? var uname = ‘lily’ alert(uname) //? } change()
答案:undefined lily
25. 如何使用npm下载express模块?
答案:npm install express
26. split和join的区别?
答案:split()将字符串按照指定的字符分割成一个数组,并返回
join()将数组用指定的字符连接成一个字符串,并返回
27. 看下列代码会有什么样的输出?
var foo =“11”+2-“1”; console.log(foo); console.log(typeof foo);
答案:111 number
**28. foo = foo||bar ,这行代码是什么意思?**为什么要这样写?
答案:这种写法称之为短路表达式
相当于:
var foo; if(foo){ foo=foo; }else{ foo=bar; }
常用于函数参数的空判断
29. 用js实现随机选取10–100之间的10个数字,存入一个数组,并排序
答案:
function getRandom(istart, iend){ var iChoice = iend -istart +1; returnMath.floor(Math.random() * iChoice+ istart); } var iArray = []; for(var i=0; i<10; i++){ var result= getRandom(10,100); iArray.push(result); } iArray.sort();
30. 如何获取javascript三个数中的最大值和最小值?
js基础
1)对js的理解?
2)请说出以下代码输出的值?
3)把以下代码,改写成依次输出0-9
4)如何区分数组对象,普通对象,函数对象
5)面向对象、面向过程
6)面向对象的三大基本特性
7)XML和JSON的区别?
8)Web Worker 和webSocket?
9)Javascript垃圾回收方法?
10)new操作符具体干了什么呢?
11)js延迟加载的方式有哪些?
12)WEB应用从服务器主动推送Data到客户端有那些方式?