JS日常知识点总结
文章目录
前言
本篇文章主要是总结了,js常用以及必要的知识点。
一、js函数动态传递参数的方法
1、在某些场景下需要封装一个公共的方法,在方法内部实现公共的处理。
例如:页面中有很多地方需要清除定时器。
封装思路:可以通过传递对应的参数标识,在方法内部清除对应参数标识的定时器。
clearTimer(...clearType) {
for (let i= 0; i < clearType.length; i++) {
if (clearType[i] === 'timer1') {
clearInterval(this.orderTimer)
this.orderTimer = null
} else if (clearType[i] === 'timer2') {
clearInterval(this.timerResult)
this.timerResult = null
} else {
clearInterval(this.timer)
this.timer = null
}
}
}
clearTime('timer1','timer2')
通过解构的方式传递参数可以同时传递多个参数。传递到函数内部多个参数会以数组的形式保存。通过遍历的方式,实现清除对应的定时器。同时穿的参数是没有固定位置的限制的。
二、JS动态传递参数方法2
1、通过js函数体内部的arguments对象来接收传递进来的惨呼,利用这一对象属性可以的那个太传参。
function he() {
let sum = 0;
for(let i = 0;i < arguments.length; i++) {
sum = sum + arguments[i];
}
return sum;
}
he(1,2,3);
这里可以看到虽然arguments是对象类型,但是它可以数组索引方式取到对应元素,并且遍历
三、如何判断一个对象中是否包含某个属性
1、最基本的方法就是通过对象最原本的特点:
如果对象中没有某个属性就会返回undefined
可以通过直接取值的方式来判断存不存在某个属性
let obj = {
a:1,b:2}
obj.c //返回undefined
但是需要注意的是,如果key对应的value就是undefined的话那么返回的结果也就是undefined
2、通过in
let obj = {
a:1};
'a' in obj; // true
'b' in obj; // false
3、最直接的方法,还是得用object提供的方法,hasOwnProperty()
let obj = {
a:1,b:2};
obj.hasOwnProperty('a');
四、js中对URI解码和编码的方法
1、定义和用法
decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。
使用 encodeURIComponent() 方法可以对 URI 进行编码。
2、参数
uri 必需。一个字符串,含有编码 URI 组件或其他要解码的文本。
3、例如:
let test1="http://www.baidu.com/123/"
document.write(encodeURIComponent(test1))
document.write(decodeURIComponent(test1))
输出:
http%3A%2F%2Fwww.baidu.com%2F123%2F
http://www.baidu.com/123/
五、字符串强制转换坑
在使用!!""
转换字符串的时候,不会像number
类型的1
和0
会转换成true
和false
,而是只要字符串不为空的时候就会转换为true。
六、。。。持续更新
总结
如果有问题,请及时指出,必定虚心接收改正。。。互相进步学习