js代码小技巧

71 阅读2分钟

1.变量定义

var关键字可以在定义之前调用,可以重复定义(重复定义取后定义的值)


consloe.log(a)
//undefined
 var a=123;
 --------------------------------
 var b="hello";
 var b="hi";
 //取后面定义的值
 

let关键字先定义后调用,有块级作用域,不能重复定义

console.log(a)//报错
let a=123;
 --------------------------------
{
let a=123;//let定义变量形成了作用域
}
console.log(a)//报错,拿不到作用域里面定义的变量
 --------------------------------
 let a="hello";
 let a="hi";
 console.log(a)//报错,提示a已经被定义了

const常量,定义好的数据不允许更改栈内存值

const a=123;
console.log(a);
a=456;//报错
 --------------------------------
 const person={
 name:"Anne",
 age:23
 }
 person.age=22;
 console.log(person)//值发生改变不会报错

2.解构

数组解构


常规结构
let a=1;
let b=2;
let c=3;
改:
let [a,b,c]=[1,2,3]
 --------------------------------
形参实参不对等结构
let [a,b,c]=[1,2];
//结构对应值
let a=1;
let b=2;
let c;

对象解构

let person={
user:"Anne",
sex:"女",
age:22
}
let {age,user,sex}=person;
console.log(age,sex,user)//22 '女' 'Anne'

3.箭头函数

setTimeout (function(){
console.log('hello')
},1000)//一秒后打输出hello
普通函数改箭头函数:
setTimeout(()=>{
console.log('hello')
},1000)//一秒后打输出hello


带参数的箭头函数
setTimeout((user,age)=>{
console.log(user,age);//实参向形参传递
},1000,"anne",22)

4.数组扩展

Array.from() 将类数组转换为数组

function abc(){
let arr=Array.from(arguments)
console.log(Array.isArray(arr))
}
abc('html','css','js')

Array.of() 创建一个数组

let arr=new Array("a")//创建一个数组里面的元素是6
let arr=Array.of(6)//创建一个数组里面元素是6

Array.prototype.fill() 将数组填充成指定数组

let arr=new Array(10)//定义一个长度为10的数组
arr.fill('h')//填充十个h

set单值集合 不会有重复的数值,如果出现重复的数值直接过滤掉

let arr=["a","b","c","d","b","c"]
let newArr=new Set(arr)
let arr1=Array.from(newArr)//['a', 'b', 'c', 'd']