【九】查询字符串、进制转换与保留小数、数字的方法、计时器与倒计时器、异步程序

104 阅读2分钟

01 查询字符串

数字字符串 ------ '1234567'

标签字符串 ------ ''

查询字符串 ------- 'key = value'

多个查询字符串 ----- 'key1=value1;key2=value2;key3=value3'

应用:查询字符串 ----转化---- 对象格式

var str = 'username = QF; age = 18; abc = 123'; 
// console.log(str); var obj = {}; 
var arr = str.split(';'); 
console.log(arr); 
arr.forEach(function(value){ 
var newArr = value.split('='); 
// console.log(newArr); 
// var key = newArr[0]; 
// var num = newArr[1]; 
// obj[key] = num; 
//优化 
obj[newArr[0]] = newArr[1]; 
}) 
console.log(obj);

对象格式 -------转化----- 查询字符串

// 'username = QF; age = 18; abc = 123' 
var obj = { 
    username:'小白', 
    age:18, 
    abc:123 
} 
var newStr = ''; 
for(var i in obj){ 
    // console.log(i, obj[i]); 
    newStr += i + '=' + obj[i] + ';'; 
} 
newStr = newStr.slice(0, newStr.length - 1); 
console.log(newStr);

02 进制的转换与保留小数

1、进制的转换

1.1 十进制转换为其他进制

变量.toString(进制)

<script> 
    var num = 100 
    var num1= num.toString(2) 
    var num1= num.toString(16) 
    console.log(num1); 
</script>

1.2 其他进制转换为十进制

parseInt( )

<script> var num = 100; 
    // var num1 = parseInt(num, 2) // 把 数字 100 当成二进制数字, 然后转换为 10进制数字 
    var num1 = parseInt(num, 16) // 把 数字 100 当成十六进制数字, 然后转换为 10进制数字
    console.log(num1) 
</script>

2、保留小数

语法: 变量.toFixed(保留的小数位数)

保留时采用四舍五入

返回的是字符串

<script> 
    var num = 123.450000006789; 
    var num1 = num.toFixed(2); 
    console.log(num1); 
    console.log(typeof(num1)); //123.45 
</script>

03 数字的方法

数值的操作方法.png

04 计时器与倒计时器(基础)

1、计时器(setInterval)

语法:

setInterval(function(){每次执行定时器时要做的事},时间) 时间单位是毫秒(ms) 1000ms = 1s

返回值:(时间 ID)----→ 值取决于当前定时器是这个页面的第几个定时器,返回值可以用于关闭定时器

关闭定时器:clearInterval(时间ID)

2、倒计时器(setTimeout)

语法:

setTimeout(function(){倒计时满足时,要执行的一段代码},时间) 时间单位是毫秒(ms) 1000ms = 1s

返回值:(时间 ID)----→ 值取决于当前定时器是这个页面的第几个定时器,返回值可以用于关闭定时器

关闭定时器:clearInterval(时间ID)

3、关闭定时器(倒计时)

关闭定时器: clearInterval 和 clearTimeout 正常来说 两个方法可以混用, 不会出错, 但是根据语义来说 clearTimeout 用于关闭 setTimeout; clearInterval 用于关闭 setInterval

05 异步程序与同步程序

js的运行程序是单线程的(执行代码从第一行开始,往下执行, 上一行不结束, 不会运行下一行代码)

JS 在运行的时候, 会按照从上到下的顺序执行代码, 但是会先把所有的同步任务先执行, 等所有的同步任务执行完毕, 在执行异步任务