当前位置: 首页 > news >正文

JavaScript 与 C语言基础知识差别

一, 变量声明对比

C语言:

int age = 20;            // 必须指定类型
float price = 9.99;
char grade = 'A';
const double PI = 3.14;  // 常量

JavaScript:

let age = 20;         // 数字
var price = 9.99;     // 现在不用,有缺点
const PI = 3.14;      // 常量// 可以随时改变类型
let value = 100;      // 数字
value = "一百";       // 变成字符串(合法但不推荐)

二、输入输出

1. C语言输入输出

#include <stdio.h>int main() {int num;// 输出printf("请输入数字: ");  // 打印提示printf("换行\n");       // \n换行// 输入scanf("%d", &num);      printf("你输入的是: %d", num);return 0;
}

2. JavaScript输入输出

// 控制台输出
console.log("普通信息");
console.warn("警告信息");
console.error("错误信息");// 浏览器弹窗
alert("提示信息");          // 只有确定按钮
let name = prompt("请输入名字"); // 获取用户输入
let isOk = confirm("确定吗?");  // 确认对话框// 网页输出
document.write("直接写入");  // 会覆盖整个文档(慎用)
//后续dom操作更安全

三、JavaScript 特有的模板字符串(${})

1. 使用方式

// 传统
let str1 = "姓名:" + name + ",年龄:" + age;// 模板字符串方式
let str2 = `姓名:${name},年龄:${age}`;

2. 用法

(1)变量插入

let price = 99.8;
console.log(`价格:${price}`);  // 价格:99.8元

(2)表达式计算

console.log(`合计:${5 * 20}`); // 合计:100元

(3)函数调用

function discount() { return 0.8; }
console.log(`折后价:${100 * discount()}`); // 折后价:80元

3. 使用

(1)生成HTML内容

let items = ["苹果", "香蕉"];
let html = `<ul>${items.map(item => `<li>${item}</li>`).join('')}</ul>
`;

(2)多行文本处理

let letter = `尊敬的${userName}:您的订单已发货。预计${deliveryDate}送达。
`;

4. 注意事项

  1. 必须使用反引号(`)包裹
  2. ${}内部可以是任意合法JavaScript表达式

三、数组

1. 创建数组

// 创建空数组
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语言:

// 必须指定返回类型和参数类型
int add(int a, int b) {return a + b;
}

JavaScript:

// 1. 函数声明
function add(a, b) {return a + b;
}// 2. 函数表达式 
const add = function(a, b) {return a + b;
};// 3. 立即执行函数 可以解决命名不能冲突的问题
(function() {console.log("立即执行");
})();
http://www.lryc.cn/news/587892.html

相关文章:

  • Spark 单机模式安装与测试全攻略​
  • 【HTML】五子棋(精美版)
  • 数据采集卡选型——PCIE和USB型采集卡对比
  • C++类模版与友元
  • java--ThreadLocal创建以及get源码解析
  • [Pytorch]深度学习-part1
  • QT跨平台应用程序开发框架(7)—— 常用输入类控件
  • 消费 Kafka 一个TOPIC数据,插入到另一个KAFKA的TOPIC
  • Docker配置国内镜像源
  • CompletableFuture 源码解析
  • Linux 系统下的 Sangfor VDI 客户端安装与登录完全攻略 (CentOS、Ubuntu、麒麟全线通用)
  • HTTP协议版本对比
  • Apache部署
  • Ubuntu-25.04 Wayland桌面环境安装Anaconda3之后无法启动anaconda-navigator问题解决
  • Can201-Introduction to Networking:Data Plane数据平面
  • vue2/3生命周期使用建议
  • hive的相关的优化
  • Linux 系统管理基础教程
  • 图像分割论文中的评价指标
  • 从零实现一个基于 mem0的具有长期记忆的Text2SQL代理
  • R 语言科研绘图第 64 期 --- 哑铃图
  • 当前(2024-07-14)视频插帧(VFI)方向的 SOTA 基本被三篇顶会工作占据,按“精度-速度-感知质量”三条线总结如下,供你快速定位最新范式
  • 设计模式》》门面模式 适配器模式 区别
  • js与vue基础学习
  • Linux 基础命令详解:从入门到实践(1)
  • 基于Hadoop的竞赛网站日志数据分析与可视化(上)
  • STM32介绍和GPIO
  • Spring Boot启动原理:从main方法到内嵌Tomcat的全过程
  • Datawhale AI夏令营-基于带货视频评论的用户洞察挑战赛
  • [Python] -实用技巧4-Python中浅拷贝与深拷贝的区别详解