面试(JS篇)
1.js基本类型
Boolean,Number,String,Null,Undefined,Symbol.
2.null非对象,但是typeof null 返回的是Object,原因遗留下来的一个bug,000开头是对象,而null是000
3.原始类型存储的是值,而对象存储的是地址(指针),函数参数为对象,函数传参是传递对象的指针副本
const a = []
const b = a
p.push(1)
a = [1]
// a,b都代表地址,一个改变都改变
4.typeof
Number,String,Boolean,Function可,
Array,Object,Null不可
5.instanceof(得对象)
6.Object.prototype.toString.call()啥都可以
7.类型转化 下面的=是转换为的意思,并非赋值
Boolean
Number, 0,-0,NaN=false, 其他都是true
String ' ' = false 其他都是true
undefined unll false
引用类型 ture
String
Number 5='5'
Boolean.函数,symbol,string 'true'
数组 [1,2]=‘1,2’
对象 ‘[object Object]’
Number
String '1'=1 'a'=NaN
数组 空数组=0,只有一个元素的数组[5]=5 其他NaN
null null=0
出数组外的引用类型 NaN
symbol 抛错
8.四则运算 一方为字符串String,把另外一方转为String
一方不是String Or Number,则转为
除加法外,一方是Number,另一方转为Number
对象转化为原始类型,调用[[ToPrimitive]]
let a = {valueOf(){return 0 }, toString(){return'1'}}
字符串调用toString,非字符串用valueOf
9.bind,call,apply改变this的指向,
区别,call bind接受的是参数列表,apply接受的是数组
bind返回的是方法()需要调用
10.this的指向问题
(1)普通函数,指向window
(2)构造函数中的this,指向当前构造函数所创建的对象
(3)方法中的this,指向方法所属的对象
(4)事件处理函数中的this,指向事件源,谁调用指谁
function foo(){
console.log(this.a)
}
var a = 1;
foo()//window
const obj = {a:2,foo:foo}
obj.foo//obj
const c = new foo()//c
11.箭头函数没有this,取决于包裹的第一个普通函数,多次bind由第一次决定
12.==。===的区别
判断x==y,首先判断x,y类型相同与否,相同则判断x===y,不同则
面试(JS篇)的更多相关文章
- 面试JS篇
1.闭包 ECMAScript对其进行了简单的描述:允许使用内部函数(即函数定义和函数表达式位于另一个函数的函数体内),而且,这些内部函数可以访问他们所在的外部函数中声明的所有局部变量.参数和声明的其 ...
- 好程序员分享Web前端面试题汇总JS篇之跨域问题
为什么80%的码农都做不了架构师?>>> 好程序员分享Web前端面试题汇总JS篇之跨域问题,接着上一篇文章我们继续来探讨web前端面试必备面试题. 跨域解决方案 1. 通过jso ...
- iOS开发--OC调用JS篇
OC调用JS篇 其中相对应的html部分如下: <html> <header> <meta http-equiv="Content-Type" con ...
- 3D拓扑自动布局之Node.js篇
上篇将3D弹力布局的算法运行在Web Workers后台,这篇我们将进一步折腾,将算法运行到真正的后台:Node.js,事先申明Node.js篇和Web Workers篇一样,在这个应用场景下并不能提 ...
- 一个周末掌握IT前沿技术之node.js篇
一个周末掌握IT前沿技术之node.js篇 http://ittechnical.sinaapp.com/node-js-and-restful-api/ NodeJS入门 http://www.n ...
- 十大经典排序算法-JS篇
http://web.jobbole.com/87968/ 虽然是JS篇,但其他编程语言(例如java)实现起来是差不多的.
- 前端面试题 -- JS篇
前端面试题 -- JS篇 类型 1.js中有哪些数据类型,并解释清楚原始数据类型和引用数据类型 js中共有null,undefined, string,number,boolean,object六种数 ...
- 前端面试(原生js篇) - DOM
根据我的面试经历,一般小公司的面试环节,比较关心框架的熟练程度,以及独立开发组件的能力 但大厂通常有五轮以上的面试,而且对 js 基础语法很是看重 于是我总结了一些关于 js 基础的面试对话,有的当时 ...
- 前端面试(原生js篇) - 精确运算
一.面试题 问:开发的时候有用到过 Math 吗? 答:很多啊.比如生成 GUID 的时候,就会用到 Math.random() 来生成随机数. 问:别的呢?比如向下取整.向上取整? 答:向下取整是 ...
随机推荐
- (1)RabbitMQ简介与安装
1.RabbitMQ简介 因为RabbitMQ是基于开源的AMQP协议来实现的,所以在了解MQ时候,首先我们来了解下AMQP协议.AMQP,即Advanced Message Queuing Prot ...
- linux test tool--"ab"
install(ubuntu os): sudo apt-get install apache2-utils usage: ab -c 200 -t 100 http://localhost:8001 ...
- Python3笔记011 - 3.2 选择语句
第3章 流程控制语句 3.2 选择语句 1.if语句 if 表达式: 语句块 执行的流程是:当表达式的布尔值为真时,执行语句块,为假时,离开if语句,程序往下执行. 2.if...else语句 if ...
- CRC循环冗余校验码
原文转载自:https://blog.csdn.net/hm108106/article/details/73332465 1.CRC CRC循环冗余校验码是数据通信中的一种查错校验码. 循环冗余检查 ...
- Spring Boot -- 启动流程分析之ApplicationContext 中
上一节我们已经分析到AbsractApplicationContext类refresh方法中的postProcessBeanFactory方法,在分析registerBeanPostProcessor ...
- web测试要点、方法_web端测试大全总结
一.功能测试 1.1链接测试 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点: 1)链接是否按照既定指示那样,确实链 ...
- springboot启动只显示图标不报错
问题如下: 问题原因是:logback.xml文件中日志打印级别设置的有问题.设置不打印
- 31道Java核心面试题,一次性打包送给你
先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...
- DNP3协议解析 —— 利用Wireshark对报文逐字节进行解析详细解析Modbus所含功能码
现在网上有很多类似的文章.其实这一篇也借鉴了很多其他博主的文章. 写这篇文章的重点是在于解析功能和报文.对Dnp3这个协议并不会做很多介绍. 那我们就开始吧 上图则为dnp3协议整体的报文模型(点击红 ...
- Web For Pentester靶场(xss部分)
配置 官网:https://pentesterlab.com/ 下载地址:https://isos.pentesterlab.com/web_for_pentester_i386.iso 安装方法:虚 ...