[TOC]
## **typeOf返回类型**
> number、string、boolean、undefined、null、object、function
```
var a = 20;
var str = "hello";
var c = true;
console.log(typeof a);
//number
console.log(typeof str);
//string
console.log(typeof c);//boolean
```
## **比较typeof与instanceof?**
### **相同点**
> JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。
**typeof的定义和用法**:返回值是一个字符串,用来说明变量的数据类型。
### **细节**
1. typeof 一般只能返回如下几个结果:number,boolean,string,function,object,undefined。
2. typeof 来获取一个变量是否存在,如 if(typeof a!="undefined"){alert("ok")},而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错。
3. 对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性。
**Instanceof定义和用法**:instanceof 用于判断一个变量是否属于某个对象的实例。
实例演示:
```
a instanceof b?alert("true"):alert("false"); //a是b的实例?真:假
```
```
var a = new Array();
alert(a instanceof Array); // true
alert(a instanceof Object) // true
```
如上,会返回 true,同时 alert(a instanceof Object) 也会返回 true;这是因为 Array 是 object 的子类。
```
function test(){};
var a = new test();
alert(a instanceof test) // true
```
### **细节**
* 如下,得到的结果为‘N’,这里的 instanceof 测试的 object 是指 js 语法中的 object,不是指 dom 模型对象。
```
if (window instanceof Object){ alert('Y')} else { alert('N');} // 'N'
```
- 杂(一般误入)
- Vue
- CSS
- Web前端性能优化有哪些方法
- 后端
- 嘻嘻哈哈
- 一
- 二
- 三
- 大杂烩
- 什么是HTML,什么是CSS,什么JavaScript?
- JS动画与CSS动画的差异
- HTML,CSS
- 1.px、em、rem、vw、rpx之间的区别
- 2.为什么要初始化CSS样式
- 3.CSS优先级算法如何计算?
- 4. ::before 和 :after中双冒号和单冒号有什么区别?
- 5.display:inline-block 什么时候会显示间隙?
- 6.行内元素有哪些?块级元素有哪些?如何将行内元素表现为块级元素?
- 7.css新增了哪些功能?
- 8.对html5语义化的理解
- 9.http头的expires是表示什么
- 10.bootstrap栅格系统实现原理
- 11.清除浮动的方法
- 12.使用image间隙留白问题
- 13.html分为哪些层?都代表什么?
- 14.对于web中W3C标准的理解?
- 15.用css写一个三角形?
- 16.CSS中使用表格怎么合并行,合并列
- 17.处理margin-top的bug问题
- 18.动画进度条
- 19.box-sizing的属性值
- 20.box-shadow的参数
- 21.a标签的四个状态及它们的顺序、设置title属性的效果
- 22.如何实现垂直水平居中
- 23.什么是雪碧图
- 24.h1和title、b和strong、i和em的区别
- 25.table和div+css的区别
- 26.锚点的作用是什么?如何创建锚点
- 27.margin距离问题
- 28.响应式的导航栏
- 29.进度条
- 30.img标签的title属性和alt属性有什么区别
- 31.媒体查询
- 32.CSS选择器有哪些?哪些属性可以继承?
- Javascript
- 1.面向对象的基本特征
- 2.在JavaScript中实现继承的方法
- 2.用js去除字符串空格
- 3.你怎么理解作用域?
- 4.get和post的请求?
- 5.如何理解闭包?
- 6.数组的克隆(深拷贝)的方法
- 7.es6新增了哪些特性
- 8.json对象与字符串转换
- 9.回调函数
- 10.HTML和XHML的共同点
- 11.js中把7.25转换成一个整数
- 12.循环遍历的方法
- 13.深拷贝与浅拷贝的区别
- 14.JavaScript有哪些方法定义对象
- 15.AJAX请求总共有多少种CALLBACK
- 16.js中的定时器
- 17.let、var、const的区别
- 18.==和===的区别
- 19.dom文档(自上往下)加载的顺序
- 20.string变成int型
- 21.如何判断是否为一个质数
- 22.typeof返回类型,以及比较typeof与instanceof
- 23.判断一个对象是否为数组以及数组的方法
- 24.解释一下原型和原型链、hasOwnProperty
- 25.js有哪些内置对象
- 26.new一个对象发生了什么
- 27.sass的理解
- 28.document.onLoad与window.ready的区别
- 29.什么是跨域?跨域请求资源的方法有哪些?
- 30.Ajax的优缺点及工作原理
- 31.什么是正则
- 32.贪婪模式与非贪婪(懒惰)模式
- 33.数组去重
- 34.js字符串操作函数
- 35.substring和substr传参的区别
- 36.如何实现一个原生的ajax,分成几步
- 37.如何实现一个事件绑定
- 38.事件冒泡与事件捕获的区别
- 39.事件监听
- 40.字符串下标与字符串某一个字符之间的转换
- 41.new操作符的作用
- 42.函数的定义方式
- 43.括号在JavaScipt中的作用
- 44.回调地狱
- 45.document.write和innerHTML的区别
- 46.解释一下JS同源策略
- 47.说几种DOM节点
- 48.DOM事件流
- 49.同步与异步
- 50.json和jsonp的区别
- 51.字符串去重
- 52.JS中的数据类型
- 53.this关键字指向问题
- 54.break和contiune之间的区别
- 55.如何消除事件冒泡与事件默认行为
- 56.请列举jquery中的选择器
- 浏览器及服务端
- 1.请说出三种减低页面加载时间的方法
- 2.浏览器的缓存机制
- 3.浏览器的内核
- 4.浏览器的兼容问题
- 5.src和href的区别
- 6.高质量代码具备哪些条件
- 7.HTTP请求与响应
- 8.谈谈对前端模块化的理解
- 9.严格模式与混杂模式如何区分?
- 10.重绘和重排的区别
- 11.MVC和MVVM的区别
- 12.前端页面如何解决适配的问题
- 13.写一个400错误
- 14.状态码
- 15.开发及性能优化
- 16.静态网页与动态网页的区别
- 17.如何调试网页代码?如何查看网页源代码
- 18.语义化的主要目的是什么?
- 19.如何让所有的浏览器支持ES6语法
- 20.cookie,LocalStorage,sessionStorage的区别
- 计算题
- 1.margin距离问题
- 2.math
- 3.使用js实现阶乘(1~10)
- 4.求一个数组的最大数
- 5.判断一个字符串中出现次数最多的字符,统计这个次数
- 6.质数
- 7.如何把一个字符串倒过来输出
- 取数据,渲染数据
- 1.ajax版本
- 2.vue版本
- 3.React版本
- 4.用class封装一个ajax
- 5.用回调函数封装一个ajax
- Vue,React
- 1.什么是路由?
- 2.vuex的工作流程
- 3.redux的工作流程
- 微信小程序
- 1.程序的生命周期
- 2.组件的生命周期
- 3.微信小程序页面的生命周期
- 不会的问题
- 2019/01/02
- 2019/01/03
- 2019/01/07
- 2019/01/21
- 1