JavaScript
文章目录
1. var let const
var:普通变量
let:局部变量
const:常量
2. null undefined
null:表示空值
undefined:表示未定义
null是一个表示“空”的对象,转为数值时为0;undefined是一个表示"此处无定义"的原始值,转为数值时为NaN。
已声明未初始化或未成功初始化的变量默认值为undefined;主动声明var a = null,表示变量为空。
判断null用==,判断undefined用===(绝对等于)
3. layer.open layer.alert
弹窗与提示
4. GET和POST区别
Get和Post都是向服务器发送的一种请求,只是发送机制不同。
-
GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。在Ajax请求中,这种区别对用户是不可见的。
-
首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度;Post传输的数据量大,可以达到2M。
-
GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。
-
在客户端使用get请求时,服务器端使用@RequestParam来获取参数,而客户端使用post请求时,服务器端使用@RequestBody来获取参数。使用@RequestBody时必须用post请求。
HTTP标准包含这两种方法是为了达到不同的目的。POST用于创建资源,资源的内容会被编入HTTP请示的内容中。当请求无副作用时(如进行搜索),便可使用GET方法;当请求有副作用时(如添加数据行),则用POST方法。
-
若符合下列任一情况,则用POST方法:
- 请求的结果有持续性的副作用,例如,数据库内添加新的数据行。
- 若使用GET方法,则表单上收集的数据可能让URL过长。
- 要传送的数据不是采用7位的ASCII编码。
-
若符合下列任一情况,则用GET方法:
- 请求是为了查找资源,HTML表单数据仅用来帮助搜索。
- 请求结果无持续性的副作用。
- 收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符。
5. JSON
JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation),是一种轻量级的文本数据交换格式
与 XML 相同之处
- JSON 是纯文本
- JSON 具有"自我描述性"(人类可读)
- JSON 具有层级结构(值中存在值)
- JSON 可通过 JavaScript 进行解析
- JSON 数据可使用 AJAX 进行传输
与 XML 不同之处
- 没有结束标签
- 更短
- 读写的速度更快
- 使用数组
- 不使用保留字
6. JSON.stringify() JSON.parse()
JSON.stringify()将JavaScript对象转为JSON字符串
而eval()或者JSON.parse()可以将JSON字符串转为一个JavaScript对象
JSON.parse()不仅解析json格式的数据,并且会对要解析的字符串进行格式检查,如果格式不正确则不进行解析,而eval()则可以解析任何字符串,eval是不安全的。
7. JS获取时间
var date = new Date();
date.getYear(); //获取当前年份(2位)
date.getFullYear(); //获取完整的年份(4位)
date.getMonth(); //获取当前月份(0-11,0代表1月)
date.getDate(); //获取当前日(1-31)
date.getDay(); //获取当前星期X(0-6,0代表星期天)
date.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
date.getHours(); //获取当前小时数(0-23)
date.getMinutes(); //获取当前分钟数(0-59)
date.getSeconds(); //获取当前秒数(0-59)
date.getMilliseconds(); //获取当前毫秒数(0-999)
date.toLocaleDateString(); //获取当前日期
var mytime=date.toLocaleTimeString(); //获取当前时间
date.toLocaleString( ); //获取日期与时间
8. Ajax
Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
url:
要求为String类型的参数,发送请求的地址。
type:
要求为String类型的参数,请求方式(post或get)默认为get。
async:
要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。
一般需要请求后为变量赋值才能后续操作时需要设置为false,改为同步,否则会出现变量未赋值的情况。
data:
要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。
dataType:
要求为String类型的参数,预期服务器返回的数据类型。
contentType:
要求为String类型的参数,发送给服务器的数据格式,内容编码类型默认为 “application/x-www-form-urlencoded” 。
success:
要求为Function类型的参数,请求成功后调用的回调函数
error:
要求为Function类型的参数,请求失败时被调用的函数。