函数
1.定义函数
function 函数名(){
函数体
}
let 函数名 = function(){
函数体
}
2.调用函数
函数名();
3.参数与返回值
- js不声明参数数据类型
- js不声明返回值类型,return就有返回值。
function add(num1,num2){
return num1+num2;
}
let r = add(3.3,2.2);
console.log(r);
4.let与var的作用域
- var 定义的变量作用域只有函数级,没有块级。
- let定义的变量作用域有块级。
- ES5后官方推荐使用let关键字定义变量。
数组
1.js数组创建
let arr = new Array();
let arr = new Array(5); //长度为5(不使用)
let arr = new Array(10,20,30); //内容为10,20,30
let arr = [66,80,90,77,59];
注意:
- js数组长度可变,数组下标从0开始。
数组创建时虽然可以指定长度,但是该长度也可以更改。以任何一种创建方式的数组,其长度都可以改变。 - 同一数组内可以存放多种类型的数据。
let arr = new Array(10,'啊啊啊',true)
- 符号 () ;符号 [ ] 与java的对比
[ ] 在 java数组中作用:1.声明数组;2.设置不可变长度;3.存放角标。
[ ] 在 js数组中作用:1.存储数据(数组赋值);2.存放角标。
() 在 js数组中与new关键字创建数组:
– ①空,②一个参数:设置数组长度(一般不用),③存储数据(数组赋值)
在 java数组 中不使用 () 符号。
2.js数组访问
let a3 = [10,20,30];
console.log(a3[0]);//10
console.log(a3[1]);//20
console.log(a3[2]);//30
console.log(a3[3]);//undefined
let arr = ['iphone12','华为Mate40','小米11'];
for(let i = 0;i<arr.length;i++){
console.log(arr[i]);
}
3.数组对象常用方法
- push-增加数组内容
let arr = [];
arr.push('葛玲');
arr.push('祖尧');
arr.push('宏哥');
console.log(arr);
输出:["葛玲", "祖尧", "宏哥"]
- sort 排序-默认按照字符串排序
let numbers = [3,5,8,15,9,11,6,1,0];
numbers.sort();
console.log(numbers);
输出:[0, 1, 11, 15, 3, 5, 6, 8, 9]
- join连接-常用于前后端交互
let a = ['铭旭','景绪','一迪','明泽'];
let s = a.join('-');
console.log(s);
输出:“铭旭-景绪-一迪-明泽”
- splice删除,插入及替换
–splice(index,a);
index:删除的起始下标,a:删除的数量;
–splice(index,0,x,y,z);
index:插入数据的下标,0:代表插入,x,y,z:插入内容;
–splice(index,1,a);
index:替换数据的下标;1:代表替换;a:替换内容;
--splice(index,a);
let array = [1,2,3,4,5,6,7];
array.splice(1,2);
console.log(array);
输出:[1,4,5,6,7]
--splice(index,0,x,y,z);
let array = [1,2,3,4,5,6,7];
array.splice(3,0,77,88);
console.log(array);
输出:[1, 2, 3, 77, 88, 4, 5, 6, 7]
--splice(index,1,a);
let array = [1,2,3,4,5,6,7];
array.splice(4,1,'我的眼镜丢了')
console.log(array);
输出:[1, 2, 3, 4, "我的眼镜丢了", 6, 7]
字符串属性及常用方法
- charAt(index)
index从0开始
let s1 = '沈浩';
console.log(s1.length);//2字符
console.log(s1.charAt(0));//沈
- indexOf(‘字符’)
返回字符出现的下标,不出现返回-1
let s2 = '浩哥是狠人';
console.log(s2.indexOf('狠'));//3
console.log(s2.indexOf('省'));//-1
- substring(a,b)
截取范围包括头不包括尾。
let s3 = '220281199909164563';
//1.起始下标 结束下标+1
console.log( s3.substring(6,13+1) );
输出:19990916
- split()
拆分
let s4 = '沈浩-陈浩南-二龙湖浩哥';
console.log( s4.split('-'));
输出:["沈浩", "陈浩南", "二龙湖浩哥"]
Date 日期内置对象
function getToday(){
let n = new Date();
let year = n.getFullYear();
let month = n.getMonth() + 1;
let date = n.getDate();
return year+ "-" + month + "-" + date;
}
let t = getToday();
console.log(t);
输出:2021-7-8
注意:
- getDay()返回值0代表星期日;
- getMonth()返回值0代表1月,以此类推,返回值11代表12月。
Math 数学内置对象
随机数:
生成[0,1)范围的小数
Math.random();
生成[0,10)范围的小数
Math.random()*10;
生成[0,9]范围的整数
parseInt(Math.random()*10);
输出1-10之间任意整数
console.log(Math.ceil(Math.random()*10));
Global内置对象
Global(全局)对象不可访问,全局对象中的方法直接调用即可
- parseInt() 将字符串转换成整形
- parseFloat() 将字符串转换成浮点型
- eval() 将一个字符串解析为javascript代码并执行(应用:网页计算器)
console.log(eval('1+2+3*9+5'));