JavaScript 与 C语言基础知识差别

一, 变量声明对比

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. 注意事项

  1. 必须使用反引号(`````)包裹
  2. ${}内部可以是任意合法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("立即执行");
})();
相关推荐
铁皮饭盒18 分钟前
bun直接tsx,优雅!
javascript·后端
_柳青杨2 小时前
一文吃透 Node.js 事件循环:从原理到 Node 20+ 重大变更
javascript·后端
JieE21213 小时前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
冬奇Lab15 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
一颗烂土豆21 小时前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
kyriewen1 天前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
weedsfly1 天前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
假如让我当三天老蒯1 天前
前端跨域解决方案(学习用)
前端·javascript·面试
铁皮饭盒1 天前
Bun 哪比 Node.js 快?
javascript·后端
JieE2121 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试