json、定时器
2022/8/6 23:25:12
本文主要是介绍json、定时器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
json
JSON 是js的内置对象,主要操作json数据。
网络传输数据应用层都是字符串格式。
最早网络数据传输流行的格式是XML: <name>222</name><age>22</age>
json 数据: '{"name":222,"age":22}', 现在都是用json传输数据。
json 格式数据的规定
\1. 对象的键名必须放在双""里面
\2. 数组或者对象的最后一个成员后面不能加逗号,
\3. 字符串必须用双引号表示。
\4. 复合类型(引用数据类型)的值只能是数组或者对象.
\5. 原始数据类型: 字符串,数值(只能用10进制表示),布尔值, null。不能用NaN, undefind, Infinity
var objStr = '{"a":1,"b":"a","c": null,"user": ["a","b",{"name":"zhangsan","age":12}]}';/ / 符合json规范的js对象,加''变成字符串,就是一个json数据。 var arr = '["a1","b1",{"name":"zhangsan","age":12}]' // 符合json规范的js数组,''变成字符串,就是一个json数据。
JSON.stringify
js对象转json字符串(json的序列化)
var son = { name: "zhang san", age: 12, family: { address: "aaa", phone: 131111111 }, ss: undefined, aa: function () { } } var jsonSon = JSON.stringify(son); console.log(jsonSon, typeof jsonSon); //{"name":"zhang san","age":12,"family":{"address":"aaa","phone":131111111}} string
JSON.parse()
json数据转js对象(json反序列化)
var obj = JSON.parse(objStr); console.log(obj, typeof obj); //{a: 1, b: 'a', c: null, user: Array(3)} 'object'
数据的深拷贝
该方法会把非json格式属性丢掉。
var copySon = JSON.parse(JSON.stringify(son)); console.log(copySon === son, copySon); //少了ss和aa //false {name: 'zhang san', age: 12, family: {…}}
定时器
js提供了定时执行js代码的功能,叫定时器。主要由两个内置的定时器方法实现。
setTimeout(function(){},delay);
指定某个方法在,delay毫秒之后执行,只执行一次。
返回值是该定时器在程序内部的索引值。
var index = setTimeout(function () { document.write("hello"); }, 2000); console.log(index); //1 ,依次类推
clearTimeout(index);
根据定时器的索引清除定时器,使定时器不会运行。
clearTimeout(index);
案例:实现每隔一段时间执行函数, 且输出5次hello就停止。
var count = 1; // 创建变量计算hello输出次数,当大于5以后,不再调用write方法。 function write() { setTimeout(function () { document.write(count + "-hello,"); count++; if (count < 6) { write(); } }, 2000); } write(); //递归思想
setInterval(function,delay)
每隔delay毫秒执行一次函数,会一直执行。返回值是该定时器的索引值
var index = setInterval(function () { document.write("hello"); }, 2000);
clearInterval ( index )
停止计时器。
clearInterval(index);
案例: 输出5次hello就停止。
var counta = 1; var setIndex = setInterval(function(){ document.write(counta + "-hello,"); counta++; if(counta >5){ clearInterval(setIndex); } }, 2000);
用变量代替匿名函数
如果计时器用变量代替函数,变量不要添加()
var handle = function(){ document.write("time out"); }; setTimeout(handle,2000)
给调用的函数传递参数
定时器调用函数传递参数,定时器函数的第三个参数开始就是给调用的函数传递参数
var handle = function (name, age) { document.write("time out " + name + age); }; setTimeout(handle, 2000, 111, 100);
这篇关于json、定时器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南
- 2024-11-16Vue3学习:从入门到初级实战教程