今天学习完了JavaScript的基本语法,接下来开始学习Dom操作!加油吧
<script>
console.log(Math);
console.log(Math.PI);//输出为π
console.log(Math.floor(1.8));//向下取整
console.log(Math.ceil(1.2));//向上取整
console.log(Math.round(4.4));//四舍五入
console.log(Math.abs(-24));//取绝对值
console.log(Math.max(1, 2, 3, 4));//取最大值
console.log(Math.min(1, 2, 3, 4,));//取最小值
console.log(Math.sqrt(25));//开平方
console.log(Math.pow(5, 4));//幂,5的4次方
console.log(Math.sin(90 * Math.PI / 180));//正弦,弧度=角度*π/180
console.log(Math.cos(180 * Math.PI / 180));//余弦
console.log(Math.tan(90 * Math.PI / 180));//正切
</script>
<script>
/*获取时间*/
var date = new Date();
console.log(date);
//对输出时间的默认格式进行转化的方法
console.log(date.toDateString());
console.log(date.toISOString());
console.log(date.toLocaleDateString());
console.log(date.toLocaleString());
console.log(date.toTimeString());
console.log(date.toUTCString());
//获取具体时间的方法
console.log(date.getDate());//日
console.log(date.getDay());//周
console.log(date.getFullYear());//年
console.log(date.getYear());//当前两份到1900年总年数
console.log(date.getMonth());//月(月份默认减掉了一,因为从0-11)
console.log(date.getHours());//小时
console.log(date.getMinutes());//分钟
console.log(date.getSeconds());//秒
console.log(date.getMilliseconds());//毫秒
console.log(date.getTime());//返回当前时间到1970年1月1日的总毫秒数
/*统一设置时间*/
var time = new Date("2020/12/29 00:00:00");
var time = new Date("2020-12-28 00:00:00");//字符串的设置方法比较方便,因为不涉及月份的加一减一
var time = new Date(2020, 10, 28, 0, 0, 0);
/*分开设置时间*/
var time =new Date();
time.setDate(28);//设置日
time.setFullYear(2021);//设置年
time.setMonth(1);//设置月,实际出来加一之后为2月
time.setHours(9);//设置时
time.setMinutes(0);//设置分钟
time.setSeconds(0);//设置秒
time.setMilliseconds(1000);//设置毫秒
console.log(time);
</script>
// 第一种,直接创建数组
var arr1 = []; // 创建一个空数组
// 第二种,通过new Array()创建数组
var arr2 = new Array(); // 创建一个空数组
var arr3 = new Array(3); // 创建了一个长度为3的数组,里面为两个空数组元素
var arr4 = new Array(2, 3, 4); // 创建了一个数组,里面有2,3,4三个数组元素
// 打印
console.log(arr1); // []
console.log(arr2); // []
console.log(arr3.length); // 2
console.log(arr4); // [2, 3, 4]
// 检测是否为数组 (instanceof & Array.isArray)
// 当检测Array实例时, Array.isArray 优于 instanceof,因为Array.isArray能检测iframes.
// 第一种,通过 instanceof 运算符
var a = [];
var b = {};
console.log(a instanceof Array); // true
console.log(b instanceof Array); // false
// 第二种,通过Array.isArray(参数)
console.log(Array.isArray(a)); // true
console.log(Array.isArray(b)); // false
// 添加数组元素
arr1 = [1, 2, 3];
arr2 = ['虎', '兔', '龙'];
// 第一种,push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度(该方法修改原有数组)。
var l1 = arr1.push(4); // 向arr1数组中,添加一个4元素
console.log(arr1); // [1, 2, 3, 4] 返回添加后的数组
console.log(l1); // 4 返回添加之后的长度
// 第二种,unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。
var l2 = arr2.unshift('牛');
console.log(arr2); // ["牛", "虎", "兔", "龙"] 返回添加后的数组
console.log(l2); // 4 返回添加之后的长度
// 删除数组元素
arr1 = [1, 2, 3, 4];
arr2 = ['牛', '虎', '兔', '龙'];
// pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
var v1 = arr1.pop(); // 删除数组最后一个元素
console.log(arr1);
console.log(v1); // 返回删除的值
// shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
var v2 = arr2.shift(); // 删除数组第一个元素
console.log(arr2);
console.log(v2); // 返回删除的值
//筛选数组
var a=[1222,2,2222,3333,223];
var b = [];//建一个新的空数组
for(var i = 0 ;i < a.length;i++){
if(a[i] < 2000){
b.push(a[i]);//把筛选出来的值加到新数组中
}
}
console.log(b);
//方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
arr = [3, 2, 23, 54, 12, 31, 73, 90];
// 数组反转
console.log(arr.reverse());
arr = [3, 2, 23, 54, 12, 31, 73, 90];
var new_arr = arr.sort(function (a, b) {
return a - b; // 升序排列
// return b - a; // 降序排列
})
console.log(new_arr);
var arr = ['red','green','pink','blue'];
console.log((arr.indexOf('blue')));//3 从前开始找
console.log(arr.lastIndexOf('pink'));//2 从后开始找
/* 返回的都是正着数的索引号 *
/* 核心算法:遍历一遍原先的数组,检查这个值在新数组中是否存在,indexOf返回值-1返回-1则将该数加到新数组里 */
function unique(arr){
var newArr = [];
for (var i = 0;i < arr.length; i++){
if(newArr.indexOf(arr[i]) === -1){
newArr.push(arr[i]);
}
}
return newArr ;
}
var demo = unique([1,2,3,3,2,1]);
console.log(demo);
//数组转化为字符串
//toString()
var arr = [1,2,3];
console.log(arr.toString());
//join(分隔符)
var arr1 = ['green','blue','pink'];
console.log(arr1.join());//green,blue,pink
console.log(arr1.join('-'));//green-blue-pink
console.log(arr1.join('&'));//green&blue&pink
// splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
const months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
// inserts at index 1
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "June"]
months.splice(4, 1, 'May');
// replaces 1 element at index 4
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "May"]
//1.生成临时变量,把简单类型包装为复杂数据类型
var temp = new String('andy');
//2.赋值给我们声明的字符变量
str = temp;
//3.销毁临时变量
temp = null;
里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内容中新开辟了一个内存空间
tip:由于字符串的不可变,在大量拼接字符串是会有效率问题,太多的话,会花费大量时间来显示,因为要不断的开辟新的空间
// 字符串对象 根据字符返回位置 str.indexOf('要查找的字符'),[起始位置]
var str = '改革春风吹满地,春天来了';
console.log(str.indexOf('春'));//2
console.log(str.indexOf('春',3));//8
//先查找第一个o出现的位置
//然后只要indexOf返回的结果不是-1,就继续查找,因为indexof找不到o时会返回-1
//找到一个后indexOf要往后查找所以indexOf要加1
var str = 'abcosdsgahjkdfaosos';
var index = str.indexOf('o');
while(index !== -1){
console.log(index);
index = str.indexOf('o',index+1);
}//3,15,17
//1.charAt(index) 根据位置返回字符
var str = 'andy';
for(var i =0 ;i < str.length ;i++){
console.log(str.charAt(i));
}
// 2.charCodeAt(index)返回索引号的ASCII值
console.log(str.charCodeAt(0));//97
//3
console.log(str[0]);//a
//字符串操作方法
// 1.concat('字符串1','字符串2')
var str = 'andy';
console.log(str.concat('red'));// andyred
//2.substr('截取的起始位置','截取几个字符')
var str1 = '改革春风吹满地';
console.log(str1.substr(2,2));// 春天
// 1.替换字符 replace('被替换的字符','替换为的字符'),只会替换第一个
var str = 'andyandy';
console.log(str.replace('a','*'));// *ndyandy
//把a全部改成*
var str1 = 'andyaaaaa';
while(str1.indexOf('a') !== -1){
str1 = str1.replace('a','*');
}
console.log(str1);//*ndy*****
//字符转化为数组 split('分隔符')
var str2 = 'red,blue,pink';
console.log(str2.split(','));
var str3 = 'red&blue&pink';
console.log(str3.split('&'));//输出数组
在学习JavaScript中的一些学习笔记,有小部分内容为了节省时间吗,搬运了小部分,仅做笔记使用,侵删
在寻求真理的长河中,唯有学习,不断地学习,勤奋地学习,有创造性地学习,才能越重山跨峻岭。 ——华罗庚
有什么不足欢迎各位大佬指出!