JavaScript基础语法
这篇笔记主要讲了JavaScript运算符,流程控制语句(if else switch),循环语句和数组
这篇笔记因为有很多地方都是学过的所以记得不是很详细,推荐有其他语言基础的来观看
这篇笔记是初学者写下的笔记,如有错误,欢迎前来指正
JavaScript运算符
-
正常的加(+) 减(-) 乘(*) 除(/) 取余(%)
-
浮点数计算时会出现误差!
-
例如:
var num = 0.1 + 0.2;
console.log(num == 0.3);
// 输出结果false
自增自减运算符
- 自增运算符(x++,++x),自减运算符(x–,--x)
- 代码示例:
var a = 10;
++a;
// a = 11
- 注意前置和后置的区别
比较运算符
-
包括小于号 (<),大于号 (>),大于等于 (>=),小于等于 (<=),等于 (==),不等于 (!=),全等,不全等 ( ===,!==)
-
注意:==会转换数据类型
-
全等 === 不全等 !== 要求值和数据类型完全相等才为true
-
代码示例
console.log(18 == '18');
// 结果为true
console.log(18 === '18');
// 结果为false
逻辑运算符
-
包括与 (&&),或 (||),非 (!)
-
与:一假则假,全真才真
-
或:一真则真,全假才假
短路运算
- 和其他语言不一样的地方 (和python一样)
- 逻辑与 (&&) 如果表达式1为true,则返回表达式2,如果表达式1为假,则返回表达式1
- 代码示例:
console.log(123 && 456);
// 输出456
console.log(0 && 456);
// 输出0
console.log(1 && 2 && 3);
// 输出3
- 逻辑或 (||) 如果表达式1为true 返回表达式1.如果表达式1为假,返回表达式2
- 代码示例:
console.log(123 || 456);
// 输出123
console.log(0 || 456);
// 输出456
console.log(1 || 2 || 3);
// 输出1
赋值运算符
- 包括等号 (=),加等 (+=),减等 (-=),乘等(*=) ,除等(/=) , 取模等 (%=)
- 代码示例:
var test = 0;
test += 10;
// 上下两句话相等
test = test + 10;
运算符优先级
-
运算符优先级表
-
注意:与(&&)的优先级高于或(||)
流程控制
- 包括if,switch,三元表达式
if关键字
- 代码示例:
var a = 10;
if (a == 10) {
// 执行语句
}
- 加入else
var a = 10;
if (a > 10) {
// 执行语句1
}
else {
// 执行语句2
}
- 加入else if
var a = 10;
if (a>10) {
// 执行语句1
}
else if (a < 10) {
// 执行语句2
}
else {
// 执行语句3
}
三元表达式
- 代码示例:
// 判断两个数字的大小
var a = 1 , b = 2;
console.log(a > b ? a : b);
// 输出2
switch语句
- 代码示例:
switch(表达式) {
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
default:
执行最后的语句;
}
- switch里的表达式和case里面的值必须是全等 (===)
switch和if else if区别
- 分支少时if else 效率更高
- 分支多时 switch 效率更高
循环
- 包括for循环,while循环,do…while循环
- 同样包含关键字continue break
for循环
- 代码示例:
for (var i = 1; i <= 10;i++) {
console.log(i);
}
// 输出1到10
断点调试
-
在F12里面的Sourse
-
在行数上单击一下就会打一个断点
-
然后按F5刷新
-
按F11是下一步
-
就可以观察到程序运行的过程了
-
把鼠标放到变量上就可以实时看见变量的值 (或者使用watch)
while循环
- 代码示例:
while (条件表达式) {
// 循环体
}
do…while循环
- 代码示例:
do {
// 循环体
} while (条件表达式)
- 注意:while后面没有分号
JavaScript数组
- 在数组里面可以放任意类型的数据 (可以混合存放)
- typeof 返回的数据类型是 object
- 两种方式: new创建数组, 直接创建数组
new创建数组
- 代码示例:
var arr = new Array(1,2,3);
直接创建数组
- 代码示例:
var arr = [1, 2, 3];
访问数组元素
-
可以直接用log输出所有元素
-
如果输出一个没有定义的数组元素,会输出undefined
数组实例:冒泡排序法
- 代码示例:
var arr = [10, 99, 64, 54, 34, 82, 64, 24, 9];
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr.length - i - 1; j++) {
var flag = true;
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
flag = false;
}
}
if (flag) {
break;
}
}
console.log(arr);
数组新增元素
- 修改length属性实现数组扩容
- 代码示例:
var arr = [1,2,3];
arr.length = 5;
console.log(arr);
// 会输出有两个empty
// 直接输出空的部分会输出undefined
- 修改索引号实现数组扩容
- 代码示例:
var arr = [1,2,3];
arr[4] = 4;
// 可以实现增加
转载:https://blog.csdn.net/weixin_46170034/article/details/104741229
查看评论