JavaScript基础知识梳理,你能回答几道题?-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

JavaScript基础知识梳理,你能回答几道题?

简介:

在学习JavaScript的时候,总是这里学一点,那里学一点,很的很零星,很杂,没有很系统的去学习,感觉好像JavaScript的知识点都了解了,但是真正要说起来,又不知道从何说起!

最深刻的体会就是找工作面试的时候,面试官问你一些JavaScript的基础知识,你貌似知道是怎么回事,但是就是不知道怎么去表达,或者是某个知识点知其然不知其所以然,不知道大家会不会有这样的体会!

所以不管出于什么目的,是去陈旧新也好,是从学JavaScript也好,还是说做备忘也好,我们大家一起来梳理一下JavaScript的基础知 识点,我相信,要是这些知识点你都会了,而且都记住了,JavaScript的学习就更上一个层次了,我会不定期将“参考答案”发布出来,供大家来学习参 考,也希望不管是新手还是大神,能够多贴代码,多贴见解,供大家一起学习,我只是抛砖引玉而已,在此不胜感激!(特别鸣谢某培训学校的 JavaScript知识点梳理参考,下面的并非是我想的,我只是做了整理):

  1. JavaScript运行在html中,引用有几种方式?

  2. JavaScript通常写在页面的什么位置?

  3. 改变js加载顺序的方法有什么?

  4. type属性都有哪些常用的值?代表什么意思?

  5. 除了type属性还有其他的什么属性?

  6. js中常用的输出方式?

  7. 命名规范涉及的关键字和保留字都有哪些?

  8. 如何定义变量?

  9. js变量有什么特点?

  10. js中的数据类型有哪些?

  11. 如何检测这些数据类型?

  12. number数据类型中的一些知识点?NaN?isNaN?

  13. 将其他类型转化成number类型的方法有哪些?

  14. null和undefined的区别?都是什么意思?

  15. js常用的报错都有哪些?

  16. 基本数据类型和引用数据类型的区别?

  17. 不同数据类型之间的转化关系?

  18. 区分(+连接的字符串拼接都是什么情况?判断不同数据类型是否相等的情况下都是什么情况?[] {} 0 NaN “” null undefined 都是需要特殊重点记忆的)

  19. js中常用的语法语句都有哪些(三个判断和三个循环)?

  20. 判断语句都有什么?怎么用?每一种语法中的细节注意点都是什么?每一种判断应用于什么情况?= = 和 = = =的区别是什么?

  21. 三个循环语句都是什么?如何来用?每一种循环的特点和作用是什么?for循环4步和里面的break、continue怎么用?for in是用来做什么的?里面有什么需要注意的?while循环怎么用?三个循环的区别是什么?i++和++i的区别?

  22. object创建的方式有几种?

  23. object如何修改,增加,删除,获取属性名和属性值(有几种方式)?

  24. object中常用的内置类都有哪些?

  25. 如何创建数组?

  26. 如何获取数组的某一项?

  27. 有一个和数组类似的类叫做类数组是怎么一回事?

  28. 数组中常用的方法都有哪些?每一个方法都是干什么的?需要传递什么样的参数?返回的结果是什么?原有的数组是不是改变了?该方法有哪些不足?

  29. 自己用代码实现 数组排序,数组去重,两个数组的交差并补集,a数组中有而b数组中没有等等?

  30. 函数中涉及的知识点比较多,如何定义函数?如何执行函数?什么叫做形参?为什么要用形参?什么是return?function中return的 注意项?为什么要用return?arguments是什么?如何获取里面存储的数据?类数据的形式和常规操作?arguments中自己特殊的属性是什 么,干什么用的?如何的检测执行函数时是否传递了参数?以及在方法中可以用什么样的办法判断传入参数的类型和是否传递?

  31. 函数执行的时候会形成一个私有的作用域,来保护里面的变量不受外界的干扰(作用域这块是怎么回事)?

  32. 如何给元素绑定事件?

  33. 匿名函数:函数表达式、常见闭包形式

  34. 获取页面上DOM元素的几个方法和方法是如何的使用的?哪些方法不兼容?方法使用过程中在不同浏览器中的注意细节点都是什么?

  35. 哪些获取的是单个?哪些获取的是对象集合(类数组)?对于集合的话我们有几种方式获取某个元素?

  36. DOM中的节点都包含哪些类型?每一种类型的nodeType和nodeName和nodeValue是什么?有什么作用?

  37. 通过哪些属性可以获取页面中的节点?都是如何使用的?兼容性怎么样?在不同浏览器下有哪些需要注意的?

  38. DOM 创建、修改、删除、替换、复制、设置自定义属性(获取、删除) 这些操作都有哪些方法?这些方法如何的使用?需要注意的事项有哪些?

需要熟悉掌握的案例:

  1. 写一个求和的方法sumFn,不管传递的参数有什么,都能将最终的和算出来,并且返回给函数外部使用。(要求:一个参数都不传默认结果为0,对于传递的非正常数字的参数不与累加操作);

  2. 实现在页面中输出99乘法表。(要求:以每三行为一组,实现隔行变色(颜色为白,红,黄(也可自己定义)),鼠标滑过每一行,行背景颜色变为蓝色,鼠标离开又恢复原来的颜色),隔行变色的效果需要用if和switch两种判断方式都能实现;

  3. 实现一个基础选项卡页面效果(仿照市面上的真实效果做)。(要求:用自定义属性和闭包的方式实现事件的绑定,选项卡的原理思想要牢牢的掌握);

  4. 写一个方法实现数组的排序。(要求:执行方法,传递一个数组,返回排序好的新数组(原数组不变),可以用冒泡排序,插入排序,选择排序,快速排序各写一个);

  5. 写一个方法实现数组的去重。(要求:执行方法,传递一个数组,返回去重后的新数组,原数组不变,实现过程中只能用一层循环,双层嵌套循环也可写,只做参考);

  6. 编写一个方法,实现从n-m个数中随机选出一个整数,要求:传递的参数不足两个或者不是有效数字,返回[0-1]之间的随机数,需要解决n和m两个数大小问题,如果m<n,两个参数的值进行交换;

  7. 在页面中输出当前客户端时间(2015年1月1日星期一10:10:10这样的格式),每过一秒中页面不刷新,但是时间自动更新(用两种定时器方法都可以实现),鼠标点击时间,如果原先运动则停止,如果停止则继续运动;

看来上述的知识点,是不是有点觉得好简单的赶脚,但是真正回答起来,还真是不知道怎么回答好,如果你也这么感觉,那你就来对了,希望你能踊跃的贴出 自己的见解和代码,我们一起来学习探讨,也希望大牛们能指点一下我们这些菜鸟,我会将大牛们比较经典的代码段贴出来供大家学习,当然也要特别鸣谢!

注意:贴出来的代码段,如果复杂的话,可以提供链接到你自己的博客里面,或者是可以复制过来直接运行的代码。


作者:凌云之翼

来源:51CTO

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: