一、基础数据类型
1.1 数组
数组增加长度的方法
// 修改数组长度
var arrays = [1,2,3];
arrays.length = 5;
console.log(array)
// 或者可以直接
arrays[5] = x;
// 此时 直接扩容会导致中间的直接为空
数组筛选
var arr = [1,2,34,56,78,23,12,12]
var k = []
for (let i = 0; i < arr.length; i++) {
if (arr[i] > 12) {
k[k.length] = arr[i];
}
}
alert(k)
冒泡排序
var arr = [1,4,2,45,78,89];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length-1; j++) {
if (arr[j]>arr[j+1]){
let tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
alert(arr);
1.2 函数
arguments
<script>
function f() {
console.log(arguments)
}
f(1,2,3)
// arguments
/*
伪数组:
具有length属性
按照索引储蓄
没有数组的方法
*/
</script>
声明方式
// 方式一直接声明
function f() {
alert()
}
// 方式二变量式
var fun = function () {
alert()
}
// 方式三函数式写法【只有一个形参】
var ff = funs=>{
alert(funs)
}
ff("???")
1.3 作用域
1.4预加载
二、对象
2.1 创建对象
创建对象
// 创建方式一
var obj = {
name:"小王",
age:18,
say:function (){
alert("Say")
}
};
// 调用
alert(obj.name);
alert(obj["name"])
obj.say()
// 创建方式二
let object = new Object();
object.name="zhangsan";
object.age = 18;
object.fun=function (){
alert("say")
}
构造函数创建对象
function Star(name,age,sex) {
this.name = name;
this.age = age;
this.sex = sex;
this.sing = function (sings) {
alert(sings);
}
}
let star = new Star("zhangsan",18,"男");
star.sing("好运来");
2.2 遍历对象
function Star(name,age,sex) {
this.name = name;
this.age = age;
this.sex = sex;
this.sing = function (sings) {
alert(sings);
}
}
let star = new Star("zhangsan",18,"男");
//star.sing("好运来");
for (let starKey in star) {
// 获得属性值 starKey 就是Key属性
console.log(star[starKey])
}
2.3 内置对象
学会查询文档
https://developer.mozilla.org/zh-CN/docs/MDN/Contribute/Getting_started
1) Math
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math
// 圆周率
console.log(Math.PI)
console.log(Math.max(-1,1,2,3))
console.log(Math.min(-1,1,2,3))
2) Date
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date
// 当前时间
let date = new Date();
console.log(date)
// 自定义时间 数字型会大一个月
let zdy = new Date(2021,9,19);
console.log(zdy)
// 建议
let day = new Date('2019-1-1 8:30:29');
console.log(day)
// 格式化
let day = new Date('2019-1-1 8:30:29');
console.log(day.getFullYear())
console.log(day.getMonth()+1);// 要加1 不然不准
// 1970年距今毫秒数
let date = new Date();
let time = date.getTime();
var valueOf = date.valueOf();
console.log(time);
console.log(valueOf);
// 最常用的
console.log(+new Date());
console.log(Date.now());
3) Array
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array
// 创建长度为2 的数组
let array = new Array(2);
// 表示数组元素有 2 3
let array2 = new Array(2,3);
// 检测是否数组
if (array2 instanceof Array) {
alert("?")
}
console.log(Array.isArray(array));
// 末尾添加 返回值为当前数组长度
let number = array.push(1,"Hello","hh");
console.log(number);
// 开头添加 返回值同上
array.unshift(1,34,56);
// 删除最后一个
array.pop();
// 删除开头
array.shift();
// 返回值都为被删除的
// 反转
array.reverse();
// 数组排序
// let sort = array.sort();
array.sort(function (a,b) {
return a-b;
})
console.log(array)
var arr = [1,2,3,4,1];
// 返回第一个索引 不存在 -1
console.log(arr.indexOf(1));
// 返回最后一个的索引
console.log(arr.lastIndexOf(1));
// 转换字符串
console.log(arr.toString());
// 分隔符转换
console.log(arr.join(','));