1.js中有哪些数据类型,并解释清楚原始数据类型和引用数据类型
原始数据类型:将变量名和值都存储在栈内存中
引用数据类型:将变量名存储在栈内存中,将值存储在堆内存中,并在栈内存中存储值的地址,该地址指向堆内存中的值。
当给b赋予另一个a的值
若a值为原始数据类型,直接在栈内存中生成b值,两个变量以后进行值改变不会相互影响
若a值为引用数据类型,赋予b变量的是值地址,通过这个地址,两者指向的其实是堆内存中的同一个值,所以以后a,b任一变量对值进行改变,会直接影响另一个变量的值
null
表示一个标识被赋值了,且该标识赋值为“空值”,从逻辑角度来看,null值表示空对象指针;
undefined
表示声明了标识,但没有给标识赋值。
3. 如何复制一个对象的值?
4. js在什么时候会进行隐式类型转换,转换的结果?
5. 类型识别的方法?
可以判别自定义对象类型
可以判别自定义对象类型
不能判别自定义对象类型
工作中可以写一个函数方便判定
1. 函数里的this什么含义,什么情况下,怎么用?
谁调用的方法或者属性,this就指向谁
如果没有被谁调用,this指向window
函数curry化是什么意思?
把接受多个参数的函数转换为接受单一参数的函数,且函数可以持续接收参数
将一个复杂的问题片段化,使之进行简化
3. 数组和对象有哪些原生方法,列举一下,分别是什么含义,比如链接两个数组用哪个方法,删除数组的指定项。
2.闭包的作用和使用场景
闭包的作用一:隐藏、封装
闭包的作用二:记忆函数
1.讲解原生Js实现ajax的原理。
Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用 javascript来操作DOM而更新页面。
XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。
responseText 从服务器进程返回数据的字符串形式。
responseXML 从服务器进程返回的DOM兼容的文档数据对象。
status 从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)
0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)
1 (初始化) 对象已建立,尚未调用send方法
2 (发送数据) send方法已调用,但是当前的状态及http头未知
3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
3.如何获取一个大于等于0且小于等于9的随机整数?.
4.想要去除一个字符串的第一个字符,有哪些方法可以实现.