1.学习资料:
【优极限】 HTML+CSS+JavaScript+jQuery前端必学教程,小白教学,前端基础全套完成版_哔哩哔哩_bilibili
2.学习笔记:
比较运算符
== 比较值
1 == '1' true
=== 比较值与类型
1 === "1" false
一、数组
数组的定义
1.隐式定义
var 数组名 = []; //空数组
var 数组名 = [值1,值2,值3,...];
例:
var arr1 = [];
console.log(arr1);
var arr2 = [1,2,'a',true];
console.log(arr2);
2.直接实例化
var 数组名 = new Array(值1,值2,值3,...);
例:
var arr3 = new Array(1,2,3);
console.log(arr3)
3.定义数组并设置长度
例:
var 数组名 = new Array(size);
数组的操作
数组的下标从0开始
获取数组指定下标:
数组名[下标];
设置数组指定下标的值:
数组名[下标] = 值;
获取数组的长度:
数组名.length;
设置数组的长度:
数组名.length;
了解:
不会出现下标越界,与其它语言不同
设置数组的属性
例:
arr3.name = "zhangsan";
console.log(arr3);
如果设置非整数型的下标,则会成为数组的属性,不会计入数组的长度
设置属性:
数组名.属性名 = 值;
数组名["属性名"] = 值;
例:
arr3.name = "zhangsan";
console.log(arr3);
获取属性:
数组名.属性名;
数组名["属性名"];
例:
arr3["pwd"] = "123456";
console.log(arr3["name"]);
数组的遍历
1.for循环遍历
for(var index = 0;index <数组长度;index++>)
{
}
2.for...in循环
for(var下标名 in 数组){
}
3.forEach循环
数组.forEach(function(element,index)){
//element:元素
//index:下标
}
注:
for 不遍历数组
forEach 不遍历属性和索引中的undefined
for...in 不遍历索引中的undefined
数组提供的方法
push 添加元素到最后
join 数组转成字符串 *
split 字符串,将字符串转化成数组
index0f 数组元素索引
unshift 添加元素到最前
pop 删除最后一项
shift 删除第一项
reverse 数组翻转
slice 截取(切片)数组,原数组不发生变化
splice 剪接数组,原数组变化,可以实现前后删除效果
concat 数组合并
例:
var arr5 = ["a","b","c"];
arr5[arr5.length] = "d";
console.log(arr5);
console.log(arr5.indexOf("a")); // 0
console.log(arr5.indexOf("t")); //-1 ,找不到返回-1
console.log(arr5.join("-")); // 将字符串转化成数组
// 以 ","分离字符串
var str = "1,2,3,4,5";
console.log(str.split(","));
二、函数
函数的定义
1.函数声明语句
function 函数名([参数列表]){
}
例:
function fn01(a,b){
console.log(a+b);
}
2.函数定义表达式
var 变量名/函数名 = function([参数列表]){
}
例:
var fn02 = function fn01(a,b){
console.log(a+b);
}
3.Function构造函数
var 函数名 = new Function([参数列表],函数体);
函数的参数
定义函数是设置形参,调用函数时传递实参。
1.实参可以省略,则形参为undefined
2.如果形参名相同,则以最后一个参数为准
3.可以设置参数的默认值
4.参数为值传递,传递副本,参数是是引用传递,则传递是地址,操作的是同一个对象
函数的调用
1.常用调用模式
函数名([参数列表]);
*2.函数调用模式(函数有返回值)(不熟)
var 变量名 = 函数名([参数列表]);
例:
var f2 = function(){
console.log("函数调用模式...");
return 1;
}
var num1 = f2();
console.log(num1);
3.方法调用模式
对象.函数名([参数列表]);
JS的作用域
在JS中,只有在函数中才作用域
1.全局和局部变量
例:
var pp = "Hello"; //全局变量
function qq(){
var box = 10; //局部变量
box2 = 20; //不加var 是全局变量
}
qq();
console.log(pp);
console.log(box2); // 调用函数才有