传输数据格式:JSON 异步加载

JSON

  • JSON是一种传输数据的格式(以对象为样板,本质上就是对象,但用途有区别,对象就是本地用的,json是用来传输的)
  • JSON.parse();string --> json
  • JSON.stringify();json --> string
json  ---> '{
	'name':"123",
	'age':12,
}'

JSON中规定属性名必须加个双引号 与对象不同

如果要将json数据传给后端,需要是一个字符串类型

var obj = {
	name : 'abc',
	age : 123
}

JSON.stringify(obj)

使用JSON.stringify()方法就能够把JSON类型的数据转化为字符串

 JSON.stringify(obj)

当后端传入了一个字符串类型的JSON格式数据 可以通过JSON.stringify(obj)方法把这个字符串转成json格式。

异步加载js

  • js加载的缺点:加载工具方法没必要阻塞文档,过得js加载会影响页面效率,一旦网速不好,那么 整个网站将等待js加载而不进行后续渲染等工作。
  • 有些工具方法需要按需加载,用到再加载,不用不加载。

js阻断html和css加载线的原因:
因为js会修改html和css

异步加载JavaScript的三种方案:

  • 1 defer 异步加载,但要等到dom文档全部解析完才会被执行。只能ie用,也可以将代码写到内部。

在script标签内部加一个 defer = “defer” / defer

  • 2 async 异步加载,加载完就执行,async只能加载外部脚本,不能把js卸载script标签里。

在script标签内部加一个 async= “async” / async

  • 1 2 执行时不会阻塞页面
  • 3 创建 script ,插入到dom中,加载完毕后callBack

在这里插入图片描述
创建一个script标签,当我们需要加载的时候再把它放到页面中。通过document.head.appendChild(script);

注意:
如果不使用document.head.appendChild(script);那么tools.js只会下载不会被放入html,
也就不会加载到页面上。

script.onload = function(){

}

script.onload方法而已保证 ,js文件加载完之后再执行。

封装完的函数:

function loadScript(url,callback){
	var script = document.createElement('script');
	script.type = "text/javascript";
	
	if(script.readyState){
		script.onreadystatechange = function (){//IE
			if(script.readyState == 'complete'  ||  script.readyState == 'loaded'){
					eval(callback);
					
					callback()
			}
		}
	}else{
		script.onload = function(){//Safari  chrome  firefox opera
			eval(callback);
		}
	
	}

	script.src = url;
	
	document.head.appendChild(script)

}


loadScript('demo.js',test)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冲鸭嘟嘟可

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值