网站首页 > 技术文章 正文
平时在使用的时候JavaScript没有太注意,总感觉能实现就行了,实际上这会给以后的代码调试增加负担,既增加了工作量也增添了以后代码维护的成本。现在我们说一下在实际应用中遇到以下问题。
“===”和“==”的区别
1、===:既比较类型也比较内容,当比较时如果类型不同返回false,如果类型相同才会去比较内容值是否相同。
2、==:他仅仅表示的是内容,当类型相同时,直接比较值是否相等;若类型不相同时,则会先将类型转化为相同的类型,再对内容进行比较;
compare(){
let val1=1;
let val2="1";
//true
console.log(val1 == val2) ;
//false
console.log(val1 === val2) ;
}
var、let和const的区别
以前变量声明的时候只是用var,现在我们说一下他们之间最大的区别。
1、var:表示全局变量;let:是局部变量;const:是常量;
region(){
if(true){
var value1="作用域";
console.log(value1)//作用域
}
console.log(value1)//作用域
if(true){
let value2="作用域2";
console.log(value2)//作用域2
}
console.log(value2)//ReferenceError:value没有定义
}
2、var、let声明的变量可以修改他的内容,const常量不能修改;
modify(){
var value1="value1";
let value2="value2";
const value3="value3";
value1="modify1";
value2="modify2";
value3="modify3";
console.log(value1)//modify1
console.log(value2)//modify2
console.log(value3)//报错
}
查找数据(find函数)
用find函数代替以前的for循环来查找符合条件的值,不过有几点注意事项:
1、返回符合条件的第一个元素的值,多符合也只是返回一个。
2、如果没有符合判断条件的则返回 undefined。
findTest(){
let arr=[
{
value:"1",
name:"name1"
},
{
value:"2",
name:"name2"
}
]
let val=arr.find(item=>{
return item.value=="1"
})
//结果如下
// {
// value:"1",
// name:"name1"
// }
}
过滤数组元素(filter 函数)
filter函数用于数组中获取过滤符合条件的所有元素,返回过滤后的数组,如果没有符合条件的元素则返回空数组。
filterTest(){
let arr=[
{
value:1,
name:"name1"
},
{
value:2,
name:"name2"
},
{
value:3,
name:"name3"
}
]
let val=arr.filter(item=>{
return item.value>="1"
})
//结果如下
// [
// {
// value:2,
// name:"name2"
// },
// {
// value:3,
// name:"name3"
// }
// ]
}
(构造新对象)map函数
map函数可以根据之前的对象根据某个条件进行某种变换,生成另外一个新的对象。
mapTest(){
let arr=[1,2,3]
let createArr=arr.map(item=>{
return item*2
})
//结果如下:
// createArr最终结果[2,4,6]
}
以后实用的小技巧会持续更新,如果哪位同学也有方便的小技巧也共享一下,帮助在项目中更加简洁方便。
在此祝所有的小哥哥小姐姐们都能写出更好的代码。
猜你喜欢
- 2024-11-15 ES6中数组新增的方法-超级好用(es6新增数组方法 set map)
- 2024-11-15 2023-05-16:给你一个 严格升序排列 的正整数数组 arr 和一个整数 k 。
- 2024-11-15 ES6中对数组的扩展(es6数组语法)
- 2024-11-15 uni-app基于vue开发小程序与标准vue开发新增点
- 2024-11-15 JavaScript数组方法-高阶函数hope
- 2024-11-15 vue uni-app 数组的操作方法:filter()、map()、forEach()、unsh...
- 2024-11-15 js判断字符串是否在数组中(js判断字符串包含数字)
- 2024-11-15 15个你应该知道的JavaScript的重要数组方法
- 2024-11-15 碎片时间学编程「316]:提供的函数比较器返回两个数组对称差异
- 2024-11-15 202012-前端开发vue项目代码中的亮点和疑点
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-