Java知识复习(十四)JS

1、数据类型

  • 基本数据类型:null、undefinde、boolean、string、number、symbol(ES6新增)
  • 引用数据类型:Function、Array、Object、Map和Set(ES6新增)

2、let、var和const的区别

  • var定义的变量,是全局作用域或函数作用域,存在变量提升
  • let定义的变量,只能在块作用域里访问,不存在变量提升
  • const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改,不存在变量提升

注意:变量提升指js引擎在正式执行代码前会进行一次预编译,会把var所定义的变量以及函数当前作用域的顶部声明

3、GET和POST的区别

  • get请求是获取数据的,而post请求是提交数据的
  • get请求对数据长度的限制;当发送数据时,GET 方法向 URL 添加数据get请求的传送数据会拼接在url后面
  • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息
  • GET参数通过URL传递,POST放在Request body中

4、跨域

  • 域名、协议、端口号三者有一个不同的话就属于跨域行为

5、== 和 === 的区别

  • === 比较类型和值,==只比较值。
  • js在比较的时候如果是 == 会先做类型转换,再判断值是否相等

6、闭包的作用

  • 闭包是有权限访问其他函数作用域的局部变量的一个函数
  • 最大的用处两个:一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中
  • 闭包随处可见,一个 Ajax 请求的成功回调,一个事件绑定的回调方法,一个 setTimeout 的延时回调,或者一个函数内部返回另一个匿名函数,这些都是闭包
  • 简而言之,无论使用何种方式对函数类型的值进行传递,当函数在别处被调用时,都有闭包的身影

7、JavaScript的严格模式是什么

  • 严格模式是为JavaScript定义了一种不同的解析与执行模型,它会以更严格的条件去检查你的代码错误,它可以全局使用,也可以局部使用(应用到函数内部)

主要用于以下几个目的

  • 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
  • 消除代码运行的一些不安全之处,保证代码运行的安全;
  • 提高编译器效率,增加运行速度;
  • 为未来新版本的Javascript做好铺垫。

8、null、undefined和NaN有什么区别

  • undefined和null为基本数据类型,NaN表示Not A Number,用typeof检测时,undefined返回undefined,null返回object,NaN返回number。
  • undefined表示未定义,通常出现在声明了变量而未赋值时
  • null表示变量值为空,可以通过将null赋给变量来清空变量。
  • NaN值出现情况更多,比如数据类型转换时,被转换的数据不含有可以转换的部分,则返回NaN
  • 需要注意的是,NaN和任何数据都不相等,包括NaN本身,其他数据类型和NaN运算的结果都是NaN;null==undefined会返回true,null === undefined会返回false

9、函数和事件的使用

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
</head>
<body>

<p>请点击其中的一个按钮,来调用带参数的函数。</p>
<button onclick="myFunction('Harry Potter','Wizard')">点击这里</button>
<button onclick="myFunction('Bob','Builder')">点击这里</button>
<script>
function myFunction(name,job)
{
	alert("Welcome " + name + ", the " + job);
}
</script>

</body>
</html>
<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
</head>
<body>

<p>本例调用的函数会执行一个计算,然后返回结果:</p>
<p id="demo"></p>
<script>
function myFunction(a,b){
	return a*b;
}
document.getElementById("demo").innerHTML=myFunction(4,3);
</script>

</body>
</html>

10、什么是AJAX

  • AJAX = 异步 JavaScript 和 XML。
  • AJAX 是一种用于创建快速动态网页的技术。
  • 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
//一个ajax实例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function loadXMLDoc()
{
	var xmlhttp;
	if (window.XMLHttpRequest)	//XMLHttpRequest 用于在后台与服务器交换数据
	{
		//  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
		xmlhttp=new XMLHttpRequest();
	}
	else
	{
		// IE6, IE5 浏览器执行代码
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.onreadystatechange=function()
	{
		if (xmlhttp.readyState==4 && xmlhttp.status==200)
		{
			document.getElementById("myDiv").innerHTML=xmlhttp.responseText;	//如果来自服务器的响应并非 XML,请使用 responseText 属性。
			//如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性:
		}
	}
	xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);	//规定请求的类型、URL 以及是否异步处理请求。
	xmlhttp.send();	//将请求发送到服务器。
}
</script>
</head>
<body>

<div id="myDiv"><h2>使用 AJAX 修改该文本内容</h2></div>
<button type="button" onclick="loadXMLDoc()">修改内容</button>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值