js 面试知识点
基础 原型 原型链
作用域 闭包
异步 单线程
JS API DOM操作
AJAX
事件绑定
开发环境 版本管理
模块化
打包工具
运行环境 页面渲染
性能优化
面试题
1.JS中使用 typeof 能得到的哪些类型?
考点:JS变量类型
- JS中有哪些内置函数
- JS变量按照存储方式区分为哪些类型,并描述其特点
值类型 内存地址 不会因为赋值而相互干预
引用类型 指针 节省内存空间 可以无限制扩展属性
- 如何理解JSON
知识点 变量类型 变量计算
变量类型 值类型 VS 引用类型(对象,数组,函数)
typeof 运算符详解
typeof undefined //undefined
typeof 'abc' //string
typeof 123 //number
typeof true //boolean
typeof {} //object
typeof [] //object
typeof null //object (空的指针,定义了一个位置)
typeof console.log //function /*typeof只能区分值类型的详细类型,对引用类型无能为力,能区分函数*/
/*JS中的内置函数 -- 数据封装类对象*/
Object
Array
Boolean
Number
String
Function
Date
RegExp
Error
/*内置对象*/
Math
JSON
//如何理解JSON
//一种数据格式,JSON只不过是一个JS对象而已 // 2个API
JSON.stringify({a:10,b:20})
JSON.parse('{"a":10,"b":20}')
2.何时使用 == ,何时使用 === ?
考点:强制类型转换
/* === 中没有类型转换*/
if(obj.a == null){
/*
对象的属性是否存在
这里相当于 obj.a === null || obj.a === undefined ,简写形式
这是jquery 源码中推荐写法
*/
}
除了这个之外,其他都用 ===
值类型 会发生类型转换计算的情况
- 字符串拼接
- ==运算符
- if语句
- 逻辑运算
/*字符串拼接*/
var a = 100 + 10 //110
var b = 100 + '10' //10010 /*==运算符*/
100 == '100' //true
0 == '' //true
null == undefined //true /*if语句*/
var a=ture
if(a){
// ...
}
var b=100
if(b){
// ...
}
var c=''
if(c){
// ...
}
/*if()里会转成false的集中情况*/
/*0 NaN '' null undefined false*/ /*逻辑运算*/
console.log(10 && 0) //0
console.log('' || 'abc') //abc
console.log(!window.abc) //true //判断一个变量会被当成 true 还是 false
var a=100
console.log(!!a)
3.window.onload 和 DOMContentLoaded 的区别?
考点:浏览器渲染过程
4.用 JS 创建10个 <a> 标签,点击的时候弹出对应的序号
考点:作用域
5.简述如何实现一个模块加载器,实现类似 require.js 的基本功能
考点:JS模块化
6.实现数组的随机排序
考点:JS基础算法
js 面试知识点的更多相关文章
- 前端开发面试知识点大纲--摘自jackyWHJ
前端开发面试知识点大纲:HTML&CSS: 对Web标准的理解.浏览器内核差异.兼容性.hack.CSS基本功:布局.盒子模型.选择器优先级及使用.HTML5.CSS3.移动端适应 Ja ...
- Java web 前端面试知识点总结
经过几家大厂面试,目前成功拿到唯品会offer,分享一下我的面试知识点总结: 耦合性:也称块间联系.指软件系统结构中各模块间相互联系紧密程度的一种度量.模块之间联系越紧密,其耦合性就越强,模块的独立性 ...
- Java 面试知识点解析(五)——网络协议篇
前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...
- web开发前端面试知识点目录整理
web开发前端面试知识点目录整理 基本功考察 关于Html 1. html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化 2. h5中新增的属性; 如自定义属性data, ...
- JS 进阶知识点及常考面试题
将会学习到一些原理相关的知识,不会解释涉及到的知识点的作用及用法,如果大家对于这些内容还不怎么熟悉,推荐先去学习相关的知识点内容再来学习原理知识. 手写 call.apply 及 bind 函数 涉及 ...
- web前端面试知识点整理
一.HTML5新特性 本地存储 webStorage websocket webworkers新增地理位置等API对css3的支持canvas多媒体标签新增表单元素类型结构标签:header nav ...
- 由浅入深,66条JavaScript面试知识点
前言 我只想面个CV工程师,面试官偏偏让我挑战造火箭工程师,加上今年这个情况更是前后两男,但再难苟且的生活还要继续,饭碗还是要继续找的.在最近的面试中我一直在总结,每次面试回来也都会复盘,下面是我这几 ...
- JS重要知识点
这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...
- JS重要知识点(转载 学习中。。。)
这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...
随机推荐
- Java基础(认识Java)
我们要学习Java那么就要首先认识一下Java: Java是什么 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James ...
- eclipse添加spring boot 插件
在使用eclipse开发时,一般需要添加spring boot的管理插件,这样更方便我们开发,在写application.yml或properties配置的时候,也有相关的提示,而且还可以从配置文件中 ...
- 运行maven install命令时出现错误(BUILD FAILURE)
运行run as—>maven install时出现以下错误: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-com ...
- 新建Maven项目建成后本应该有的src/main/java和src/test/java目录并没有出现:
转自:http://www.cnblogs.com/dong-dong-dong/p/9565466.html 新建Maven项目建成后本应该有的src/main/java和src/test/java ...
- 缓存算法(FIFO 、LRU、LFU三种算法的区别)
FIFO算法 FIFO 算法是一种比较容易实现的算法.它的思想是先进先出(FIFO,队列),这是最简单.最公平的一种思想,即如果一个数据是最先进入的,那么可以认为在将来它被访问的可能性很小.空间满的时 ...
- LRU的实现
https://blog.csdn.net/elricboa/article/details/78847305 未看懂https://zhuanlan.zhihu.com/p/34133067
- MySQL连接java
1.创建一个java project,建一个lib文件. 下载MySQL-connecor. 将下载好的文件打开,将mysql-connector-java-5.0.8-bin.jar文件粘贴复制到l ...
- MySQL简单查询语句练习
数据查询语法(DQL) DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端. 语法: SELECT selection_list /*要查询的列名称*/ F ...
- PHP中buffer的认知
buffer其实就是缓冲区,一个内存地址空间,只要用于存储数据区域. <?php echo 1; 运行这段代码,浏览器会显示1,其实中间会经历一个buffer(数据1先到buffer,当buff ...
- RabbitMQ(2) 一般介绍
RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apa ...