前端基础(JavaScript语法)

前言:今天学习JavaScript的基本语法,包括变量、函数、对象、数组。

目录

JavaScript

变量

函数

对象

数组


JavaScript

变量

定义变量

前端基础(JavaScript语法)_第1张图片

判断语句

判断等于:===

判断不等于:!=

if else语句

if(va==vb){
    console.log("值相等")
}
else{
    console.log("不相等")
}

for循环遍历

let a = {name:"MRJJ_9",age:"35"}
for (i in a) {
    console.log(a[i]);
}

函数

不需要返回值

function add(x,y){
    z=x+y
    console.log(`${z}`);
    return z;
}

const test=function(){
    console.log("test");
}

调用 test()

函数的重新命名

const newtest=test

箭头函数

const test=()=>{
    console.log("learning");
}

const chu=(x,y)=>x/y

等同于:const chu=(x,y)=>{return x/y}

function add(x,y) {
    console.log(arguments)
    let arrowFunc=(arrowFunc)=>{
        let res ="hello,"+arguments[0];
        console.log("箭头函数中的输出:"res);
    }
    arrowFunc('mrjj');
    return x+y;
}

undefined 未定义

NaN:Not a number

arguments

对象

对象引用前面要加上this.

let person = {
    "name":"MRJJ_9",
    "age":35,
sayHello:function(){
    console.log("hello")
},
sayBye(world){console.log(this.name+"再见"+world)}
}

创建一个新的对象、列表、集合、字典

let a=new Object();

let b=new Array();

let c=new Set(); 

let d=new Map();

对象取值 

let wy="name";

person[wy]

person["MRJJ_9"]

数值删除关键字 delete

.toString

遍历

for (i in person){

console.log(i,person[i]);

}

序列化操作,将对象转换为字符串,给每个键加上双引号,将其中的函数去掉

JSON.stringify(person)

JSON.parse()

数组

创建数据

let arr=['name','MRJJ_9'];

随时可以扩容和删除

在后面添加新的值

arr.push();

数组长度

arr.length;

删除,删除最后一个值

arr.pop();

删除前面的一个值

arr.shift();

往前面插入数据

arr.unshift();

切片取值,只取值不改值

arr.slice(start,end) (左闭右开)

删除值

arr.splice(start) 从start这个下标开始删值,后面的都删掉

arr.splice(start,num)从start这个下标开始删值,删的数量是num

arr.splice(start,num,param1,param2,...,paramN),删除值后,再在此位置上添加新的值

在指定位置添加新的值

arr.splice(start,num,param1,param2,...,paramN)

num=0,则在此位置上不删除,添加值

数组清空

arr=[];

arr.length=0;(如果定义了const常量,arr.length=0)

浅拷贝和深拷贝,具体可见python进阶赋值、深浅拷贝部分:

Python进阶(一)_MRJJ_9的博客-CSDN博客

浅拷贝:拷贝的是地址

深拷贝:拷贝的是对象的值

深拷贝的方法

遍历方法:

let arr_new=[];
for(j=0;j     arr_new[j]=arr[j];
}

用concat方法:new_arr=[].concat(arr)

用...将数组里的值都取出来,再形成新的数字 :new_arr=[...arr]

解构赋值

arr=[1, 2, 3, 4, 5]

let [a,b,c]=arr

则a=1,b=2,c=3,后面的值没有变量接受,不需要了

如果中括号里的值数量大于数组的长度,则后面的值undefined

定义的特殊语法,如果键和值的名一样,只需写键即可。

let mrjj="test";
let x={mrjj};
{mrjj: 'test'}

迭代器方法

arr.forEach((value) => {console.log(value)});

arr.forEach(function(value){console.log(value)});

for (v in arr){
    console.log(v);
}

数组值的更改

arr.forEach((value,index,a)=>{a[index]=value+"MRJJ"}); (但是原数组值改了)

map方法

new_arr = arr.map((value)=>{return value+="MRJJ_9"})(原数组的值未改)

简写方法:new_arr = arr.map(value=>value+="MRJJ_9")

值的过滤 filter

arr.filter((value)=>{return value<3})

你可能感兴趣的:(前端技术,javascript)