回顾总结1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回顾总结1相关的知识,希望对你有一定的参考价值。

笔试题

一、Seajsrequirejs的区别:requirejs是执行的AMD规范,因此所有的依赖模块化都是先执行(也就是预执行),依赖前置。(requirejs2.0之后的版本支持CMD的写法)

seajs是执行的CMD规范,因此所有的依赖模块化都是懒执行(也就是延迟执行),依赖就近。

二、为什么要模块化:嵌入网页的js越来越庞大且复杂,在开发过程中通常需要团队的分工协作,开发者不得不用软件工程的方法管理网页的业务逻辑(处理数据的逻辑)。插拔式,方便直接调用别人或自己写好的模块.

三、seajsrequirejs分别怎么暴露要用的接口:seajs是通过module.exports来暴露需要的东西。  requirejs是通过return来暴露需要的东西。

 

 

 

  1. 闭包:在方法里再定义一个函数,和变量。执行时因为不会释放内存就会生成闭包。方法的调用时候,先在函数里找要调用的方法和变量,如果没有才会沿着作用域链找。闭包不能释放,占用内存。
  2. 变量提升:JS在执行一个函数的时候会先生成一个ECEC中包含AO,所以它会先生成好所有的变量,但是没有赋值,只是扫描了一遍代码。 然后在执行代码。这就变量的提升。
  3. Js是单线程: 分为队列事件栈。只有执行完栈的代码,才会执行队列事件的代码。而且栈是先进后出,队列事件是先进先出。循环执行的。Setimeout 这种是属于队列事件的。
  4. setimeout: 这是window对象调用的。 注意this的区别。
  5. 数组的排序:冒泡算法,或者用 arr.sort()和arr.reverse()。
  6. i的最后取值:i的值是最后的值。循环是一下就执行完了的,所以i值已经发生了变化。只能是最后的值。且注意i值的边界。以为i最后是i++加到了的,所以大于循环的条件。

 

 

机试题:

 /*第一题*/

应用:计算阶乘

知识点:for循环

var res = 1;

for(var i = 1;i <= 9; i += 2){

res *= i;

}

console.info("res = " + res);

/*第二题*/

应用:计算奇数和偶数和

知识点:for循环,if else判断

var odd = 0, even = 0;

for(var i = 0;i <= 100; ++i){

if(i % 2)

even += i;

else

odd += i;

}

console.info("odd = " + odd + ", even = " + even);

 

/*第三题*/

应用:计算

知识点:for循环 if的判断

 

var count = 0;

for(var i = 1; i <= 4; ++i){

for(var j = 1;j <= 4; ++j){

if(i != j){

for(var k = 1; k <= 4; ++k){

if(i != k && j != k){

++ count;

console.info(""+i + j + k);

}

}

}

}

}

console.info("count = " + count);

 

/*第四题*/

应用:计算质数的和

知识点:for循环 if 判断 和循环的跳出

count = 0;

for(var i = 101 ; i < 200; ++i){

for(j = 2,len = parseInt(Math.sqrt(i) + 1); j <= len; ++j){

if(i % j == 0){

console.info("i = " + i + ", j = " + j);

++ count;

break;

}

}

}

console.info("count = " + count);

以上是关于回顾总结1的主要内容,如果未能解决你的问题,请参考以下文章

总结回顾---1

傅里叶变换回顾与总结

2014年终总结回顾与2015年工作总结

回顾与总结

软件工程——sprint 1回顾总结

2021年总结:回顾这不平凡的一年