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代码预解析原 ...
随机推荐
- Py't'hon之csv,ini&序列化,反序列化
1.csv文件简介 csv是一个被行分隔符,列分隔符划分成行和列的文本 csv不指定字符编码 行分隔符为\r\n,最后一行可以没有换行符 列分隔符常为逗号和制表符 每一行称之为record from ...
- 如何导出不带.svn的文件夹项目
实际工作中有需要导出项目,却含有大量的.svn文件夹,有以下几种方式导出: 一.TortoiseSVN导出 项目文件夹,右键->TortoiseSVN->导出(Export),勾选“导出无 ...
- mongodb认识
MongoDB安装 一.软件的获取地址 1.使用本安装文档提供的安装软件 本安装文档提供的软件为window版本的64位MongoDB的安装包 2.在官网上下载所需的安装软件 下载地址:https:/ ...
- c# 文件与流
1.创建和删除目录 在c#中涉及到输入.输出(i/o)相关操作的API都被放在System.IO命名空间下,或者子命令System.IO.IsolatedStoorage中.对目录进行操作可以使用Di ...
- DUBBO分布式入门
Dubbox框架简介: Dubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo,被国内电商及互联网项目广泛使用,但是后阿里巴巴对该项目停止维护了,当当网后来组建了一个团队一直维护Dubb ...
- 各版本最新的Visual C++可再发行组件包(Redistributable Package)下载和合集
Microsoft Visual C++ 2005 Redistributable Package (x86):Microsoft Visual C++ 2005 可再发行组件包 (x86):http ...
- nodejs笔记之文件操作
文件操作包含: 读取文件 写入文件 删除文件 创建目录 删除目录 读取文件: // 异步操作 var fs = require("fs"); fs.readFile(". ...
- P2053 [SCOI2007]修车(费用流)
P2053 [SCOI2007]修车 顾客平均等待的最小时间$=$等待总时间$/n$ 考虑只有1个技术人员时,$n$辆车等待总时间 $A_1+(A_1+A_2)+(A_1+A_2+A_3)+...+\ ...
- Shell 变量知识
1.自定义变量:自定义变量不能以数字开头. ()root#a=’cd /etc/’ #设置自定义变量. root#etho $a #使用变量. 2.全局变量:export可设置全局变量不能以数字开头. ...
- loj6068. 「2017 山东一轮集训 Day4」棋盘 二分图,网络流
loj6068. 「2017 山东一轮集训 Day4」棋盘 链接 https://loj.ac/problem/6068 思路 上来没头绪,后来套算法,套了个网络流 经典二分图 左边横,右边列 先重新 ...