一, 变量声明对比
C语言:
c
int age = 20; // 必须指定类型
float price = 9.99;
char grade = 'A';
const double PI = 3.14; // 常量
JavaScript:
javascript
let age = 20; // 数字
var price = 9.99; // 现在不用,有缺点
const PI = 3.14; // 常量
// 可以随时改变类型
let value = 100; // 数字
value = "一百"; // 变成字符串(合法但不推荐)
二、输入输出
1. C语言输入输出
c
#include <stdio.h>
int main() {
int num;
// 输出
printf("请输入数字: "); // 打印提示
printf("换行\n"); // \n换行
// 输入
scanf("%d", &num);
printf("你输入的是: %d", num);
return 0;
}
2. JavaScript输入输出
javascript
// 控制台输出
console.log("普通信息");
console.warn("警告信息");
console.error("错误信息");
// 浏览器弹窗
alert("提示信息"); // 只有确定按钮
let name = prompt("请输入名字"); // 获取用户输入
let isOk = confirm("确定吗?"); // 确认对话框
// 网页输出
document.write("直接写入"); // 会覆盖整个文档(慎用)
//后续dom操作更安全
三、JavaScript 特有的模板字符串(${})
1. 使用方式
javascript
// 传统
let str1 = "姓名:" + name + ",年龄:" + age;
// 模板字符串方式
let str2 = `姓名:${name},年龄:${age}`;
2. 用法
(1)变量插入
javascript
let price = 99.8;
console.log(`价格:${price}元`); // 价格:99.8元
(2)表达式计算
javascript
console.log(`合计:${5 * 20}元`); // 合计:100元
(3)函数调用
javascript
function discount() { return 0.8; }
console.log(`折后价:${100 * discount()}元`); // 折后价:80元
3. 使用
(1)生成HTML内容
javascript
let items = ["苹果", "香蕉"];
let html = `
<ul>
${items.map(item => `<li>${item}</li>`).join('')}
</ul>
`;
(2)多行文本处理
javascript
let letter = `
尊敬的${userName}:
您的订单已发货。
预计${deliveryDate}送达。
`;
4. 注意事项
- 必须使用反引号(`````)包裹
${}
内部可以是任意合法JavaScript表达式
三、数组
1. 创建数组
javascript
// 创建空数组
let arr1 = [];
// 创建带初始值的数组
let fruits = ["苹果", "香蕉", "橙子"];
// 创建指定长度的空数组
let emptyArr = new Array(3); // [empty × 3]
2. 增删元素方法
方法 | 作用 | 示例 | 结果 |
---|---|---|---|
push() | 末尾添加 | fruits.push("芒果") |
["苹果","香蕉","橙子","芒果"] |
pop() | 删除最后一个 | fruits.pop() |
["苹果","香蕉"] |
unshift() | 开头添加 | fruits.unshift("梨") |
["梨","苹果","香蕉"] |
shift() | 删除第一个 | fruits.shift() |
["苹果","香蕉"] |
splice(起始位置,删除元素的个数) | 任意位置增删 | fruits.splice(1,1) |
["苹果","柠檬","橙子"] |
- pop()shift()返回删除元素的值
- splice()返回本次删除元素组成的新数组
三、函数
1. 定义方式对比
C语言:
c
// 必须指定返回类型和参数类型
int add(int a, int b) {
return a + b;
}
JavaScript:
javascript
// 1. 函数声明
function add(a, b) {
return a + b;
}
// 2. 函数表达式
const add = function(a, b) {
return a + b;
};
// 3. 立即执行函数 可以解决命名不能冲突的问题
(function() {
console.log("立即执行");
})();