- 2025-02-25
-
回复了主题帖:
欢迎小伙伴们周末来福建体验30°的限时夏日
okhxyyo 发表于 2025-2-25 16:45
对。周末上30,限定款啊这是~~下周开始降温,一样跳格子降下来,再降回到最高温10°
现在海蓝,海蓝的时候滴滴啊
- 2025-02-22
-
回复了主题帖:
掀桌子了,已提离职。最近求职行情咋样
电子烂人 发表于 2025-2-22 10:56
说不好找的是没什么本事和技术在身的大学生,1100w的“闲杂人员”
技术过硬的话其实猎头都抢 ...
确实不好找啊
-
回复了主题帖:
掀桌子了,已提离职。最近求职行情咋样
留一个很正常,就正常留
- 2025-02-14
-
回复了主题帖:
你参加哪吒2的百亿项目了吗?
xutong 发表于 2025-2-14 13:22
哪吒魔童闹海看的感觉像是阶级斗争
玉虚宫:给妖族贴标签,污名化妖族,栽赃妖族,妖族在玉虚宫眼里皆都 ...
太乙真人:善良但不够努力,但确是内定的十二金仙的人选
申公豹:很努力,但不够善良(但以申公豹的角度看)他其实是迷途知反的羔羊,是不是有点能理解为啥他要偷灵珠?如果以国家的角度看,是不是有点像大熊为了融入北约,然后被北约一遍一遍割韭菜
-
回复了主题帖:
你参加哪吒2的百亿项目了吗?
okhxyyo 发表于 2025-2-14 14:02
我闺女说她最喜欢太乙真人。说他性格好,特别可爱,很厉害,疼哪吒,巴拉巴拉。。。
我感觉他贱兮兮的。 ...
可能生活经历不同看到些不同的东西
-
回复了主题帖:
机器人开发话题征集:写啥你来定!
想看机器人拆解 Bom分析 国产化率, 关键指标
-
回复了主题帖:
你参加哪吒2的百亿项目了吗?
哪吒魔童闹海看的感觉像是阶级斗争
玉虚宫:给妖族贴标签,污名化妖族,栽赃妖族,妖族在玉虚宫眼里皆都是仙丹
申小豹:“精美”,“精日” 后面事情发生到自己身上才醒悟
东海龙王:底层劳动人民,一直被割韭菜,割到不能在割决定反抗
太乙真人:心存善念但不知道真相默默做事的
- 2025-02-12
-
回复了主题帖:
做精确到日的计划到底有没有用
我觉得这是PM的活,系统自动拉出来的工作量做计划
-
回复了主题帖:
撒积分啦!!机器人开发圈公众号上线、还有多个新板块设立哦~~
恭喜啊,已经关注了
- 2025-02-11
-
回复了主题帖:
大学生电子设计竞赛可以使用deepseek吗?
我支持使用这种工具,就像有打火机了,为啥要钻木取火,浪费时间,但话又说回来,考察对Ai辅助的电路理解能考察到那才是重要的!
- 2025-02-01
-
回复了主题帖:
【NUCLEO H533RE测评】实现USB HIDKeyboard枚举
省事
-
回复了主题帖:
JavaScript -练习册(3)对象
秦天qintian0303 发表于 2025-2-1 08:13
感觉现在java越来越没有存在感
js用的还是挺多的
-
回复了主题帖:
JavaScript -练习册(3)对象
lugl4313820 发表于 2025-2-1 07:50
有对照学习,大佬的知识可真是广泛,我原来都是以应用为目的去学习一些东西,但是您就是非常系统的学习,这 ...
我其实也是以应用来,但需要一些基础
- 2025-01-31
-
发表了主题帖:
JavaScript -练习册(3)对象
JavaScript -练习册(3)对象
在JavaScript里面语句大多用法也和C语言相通,例如for while if else有C语言基础就不在赘述,今天咱们来聊聊对象。
JS里的对象和C的结构体有点像,以下是JS对象和C语言结构体的对比
DeepSeek生成
以下是C语言结构体和JS对象的对比:
// C 的结构体
struct Point {
int x;
int y;
};
struct Point p1 = {10, 20};
printf("x: %d, y: %d", p1.x, p1.y); // 访问成员
// JavaScript 对象
const point = {
x: 10,
y: 20,
print() { // 可以包含函数(方法)
console.log(`x: ${this.x}, y: ${this.y}`);
}
};
point.print(); // 调用方法
console.log(point.x+ point.y);
DeepSeek生成结束
看起来和结构体比较像,但是直接调用了Print的函数,我们可以新建一个Object.js来测试js的对象,运行上面代码调用对象里面的函数。运行结果如下图1所示。
图1:调用Point对象里的内容运行结果
在这个对象里this代表调用该方法的对象实例,就是调用对象里的参数信息,如果不加this就会报错,有点像Python类里面的self。${}代表将字符串插入在一整个Str之间。类似python f”str{x}”的语法,用字符串替换x的内容。
在JS的对象里面如果不需要对象里的内容可以增加或者减少,基于上面的对象函数我们增加或者删除对象里面的内容做测试,代码如下,运行结果如图2所示。
point.print(); // 调用方法
point.z = 30; // 添加属性
console.log(point.x+ point.y,point.z);
delete point.y; // 删除属性
point.print(); // 调用方法
图2:运行结果
结果第一行,打印x和y的值没错
结果第二行,打印x+y的值,以及打印z的值 都是30没错
结果第三行,删除了y所以打印的时候y是没有定义的
通过上面 的例子我们完成了对象里属性的删减以及增加,我们可以通过in的方法去测试对象里的属性是否存在,也可以判断数据是不是undefined,下面给出一个简单的例子:
console.log("x" in point); // 检查属性是否存在
console.log(point.x !== undefined); // 检查属性是否存在
console.log("y" in point); // 检查属性是否存在
console.log(point.y !== undefined); // 检查属性是否存在
console.log("修改x属性等于undefined");
point.x = undefined;
console.log("x" in point); // 检查属性是否存在
console.log(point.x !== undefined); // 检查属性是否存在
注意⚠️:在JS里面判断是不是相等要=== 三个=,判断不等 要用!==,用==是宽松相等,会进行类型转换,而`===`是严格相等,不进行类型转换。一个=是赋值。
运行上面的例子输出结果如下图3所示:
图3:对象属性测试
咱们从第一个True开始看,因为x的值真实存在,并且值不等于undefined所以使用in和!==时候都能得出true的结果,但我手动修改x的属性等于undefined时候那么只有in管用,因为x真实存在,但是ta的值等于undefined,大概知道这个意思即可。
因为对象的属性是可以被枚举的我们可以通过for语句把对象的属性打印出来,以下是简单的例子:
// JavaScript 对象
const point = {
x: 10,
y: 20,
print() { // 可以包含函数(方法)
console.log(`x: ${this.x}, y: ${this.y}`);
}
};
for(let i in point){
console.log(i, point);
}
point.z = 30; // 添加属性
delete point.y; // 删除属性
for(let i in point){
console.log(i, point);
}
运行结果如下图4所示:
图4:枚举对象属性运行结果
也可以用自带的函数去遍历对象的属性值和属性名,以下是个简单的例子,图5则为运行结果。
console.log('属性名');
console.log(Object.keys(point)); // 获取所有属性名
console.log('属性值');
console.log(Object.values(point)); // 获取所有属性值
console.log('属性名和值');
console.log(Object.entries(point)); // 获取所有属性名和属性值
图5:获取的属性名和属性值结果
根据以上内容已经对object有一些了解,真用起来遇到什么问题就去查参考文档吧,里面有更详细的说明,今天就先到这里啦!拜拜!
参考文档:
JavaScript权威指南第7版
-
回复了主题帖:
JavaScript -练习册(1)hello world
lugl4313820 发表于 2025-1-31 12:33
js+AI生成代码还是非常准确的,许大佬这是又要上新高度呀!
JS控制浏览器挺有用的,先学学看,正好是假期
- 2025-01-29
-
发表了主题帖:
JavaScript -练习册(2) 函数
JavaScript -练习册(2) 函数
在JavaScript(后面简称JS)里面函数都是以function作为开头一个简单的例子。
function HelloWorld() {
console.log("Hello World!");
}
用以上方法定义了一个helloworld的函数,需要调用这个函数的时候就可以直接HelloWorld()即可。我们将这个JS文件保存为Function,用上一节的方法在VScode里面调用看看,程序如图1所示。测试结果如图2所示。
图1:程序代码
图2:运行结果
HelloWorld这个函数是个没有返回值的函数,我希望写个有返回值的函数,比如说返回A+B的数值,我们添加一个函数,我们将其命名为Add他有两个输入参数,输出参数为A和B的相加值。最后我们通过函数的返回值将其打印出来。一个简单的例子如下:运行结果如图3所示
function add(a, b) {
return a + b;
}
console.log(add(1, 2))
图3:运行结果
另外提一嘴,要是想拼接字符串也可以直接将a的参数输入“str1”b的参数输入“str2”就可以得到“str1str2”。
通过上面的例子大概知道函数怎么回事了,用来做一些数值的计算没啥问题大概明白了。在整个函数从1+到100也是比较经典的练习了。代码如下,图4为运行结果。
/**
* 计算从1到100的数字之和
*
* 该函数通过一个循环,将从1到100的数字逐一相加,以计算它们的总和这是一个经典的编程问题解决方案,
* 展示了如何使用循环和累加器来处理一系列数字
*/
function sumFrom1To100() {
// 初始化累加器为0,用于计算总和
let sum = 0;
// 循环从1到100,包括1和100
for (let i = 1; i <= 100; i++) {
// 将当前数字加到累加器上
sum += i;
// 打印当前数字,以便跟踪循环进度
console.log(i);
}
// 打印最终的总和
console.log('Sum from 1 to 100:', sum);
}
图4:运行结果
注意到i是用let定义的,有的时候在JS的代码里面看到很多都是var定义的。以下是Ai 通义千问的解释:
使用 var 声明的变量:
var 声明的变量具有函数作用域。
在函数内部声明的 var 变量可以在整个函数范围内访问。
使用 let 声明的变量:
let 声明的变量具有块级作用域。
在函数内部声明的 let 变量只能在声明它的块(如 {} 内)内访问。
基于以上我们可以在 // 打印最终的总和 那一段之前添加一个console.log(i);测试是否可以正常打印,如果不能正常打印我们将i替换为var定义看看是否能正常打印。图5是测试1,图6是测试2.
图5:测试1在打印最终的总和前打印i
图6:测试2修改i的定义为var
目前var已经比较少用了,通义千问给出的结束如下:
var的特点:
函数作用域:var声明的变量只在函数内部有效,如果不在函数内,则是全局作用域。
变量提升:var声明的变量会被提升到其作用域的顶部,这意味着可以在声明之前访问该变量(尽管这样做不推荐)。
可以重复声明:在同一作用域内可以多次声明同一个var变量。
let的特点:
块级作用域:let声明的变量只在其所在的块级作用域(如循环、if语句等)内有效。
不会被提升:let声明的变量不会被提升,因此不能在声明之前访问它。
不允许重复声明:在同一作用域内不能重复声明同一个let变量。
好嘞,今天的学习就到这里了,初一大家玩的开心吗?点点赞
-
发表了主题帖:
JavaScript -练习册(1)hello world
JavaScript -练习册(1)
引言
hello uu们好久不见,2025已经开始学习不要停下!
最近Ai非常火热,借助Ai我们也完成许多工具的开发,但是对一些东西本身的理解还是很重要的,为了不让脑子停下来,我们也要不断学习不断进化!
因为发现有些工具需要Js做一些辅助会更加好用一点,所以我准备学一学Js,目前我和大家的也差不多如果有兴趣那就一起开始吧!
步骤:
下载 Node.js
访问 Node.js 官网 下载适合你操作系统的版本(LTS 版本更稳定)。
安装 Node.js
Windows: 运行下载的安装程序,按照提示完成安装。
macOS: 运行下载的 .pkg 文件,按照提示完成安装。
Linux: 使用包管理器安装,例如:
Ubuntu/Debian: sudo apt-get install nodejs npm
Fedora: sudo dnf install nodejs
3.编写基本程序测试
console.log("Hello, World!"); // 打印hello world到控制台
以下内容结合DeepSeek生成的文件
1. console.log()
功能:用于输出普通信息。
使用场景:
调试代码时输出变量值、程序状态。
打印提示信息或日志。
显示效果:
在浏览器控制台中,通常以普通文本形式显示(黑色或白色)。
在 Node.js 中,输出到终端,也是普通文本格式。
2. console.error()
功能:用于输出错误信息。
使用场景:
当代码中出现错误或异常时,输出错误信息。
用于调试时标记错误位置或状态。
显示效果:
在浏览器控制台中,通常以红色背景或红色文本显示,并带有错误图标。
在 Node.js 中,输出到终端,通常也是红色文本。
3. console.warn()
功能:用于输出警告信息。
使用场景:
当代码中存在潜在问题或需要注意的情况时,输出警告信息。
用于提醒开发者某些操作可能会导致问题。
显示效果:
在浏览器控制台中,通常以黄色背景或黄色文本显示,并带有警告图标。
在 Node.js 中,输出到终端,通常也是黄色文本。
4. console.info()
功能:用于输出信息性消息。
使用场景:
输出一些额外的信息或说明。
类似于 console.log(),但语义上更强调“信息”。
显示效果:
在浏览器控制台中,通常以普通文本显示,但可能带有信息图标。
在 Node.js 中,输出到终端,与 console.log() 类似。
5. console.debug()
功能:用于输出调试信息。
使用场景:
在开发过程中输出详细的调试信息。
通常用于更细致的调试场景。
显示效果:
在浏览器控制台中,通常与 console.log() 类似,但可能需要启用“Verbose”级别才能看到。
在 Node.js 中,输出到终端,与 console.log() 类似。
6. console.table()
功能:以表格形式输出数组或对象。
使用场景:
当需要清晰地查看数组或对象的结构时使用。
特别适合输出复杂的数据结构。
显示效果:
在浏览器控制台中,以表格形式显示数据。
在 Node.js 中,输出到终端,格式化为表格样式。
let users = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 }
];
console.table(users);
7. console.time() 和 console.timeEnd()
功能:用于测量代码执行时间。
使用场景:
当需要分析代码性能或测量某段代码的执行时间时使用。
显示效果:
在浏览器控制台或 Node.js 终端中,输出时间差(以毫秒为单位)。
console.time("timer");
// 模拟耗时操作
for (let i = 0; i < 1000000; i++) {}
console.timeEnd("timer");
console不同方法的总结table和time有些区别,其余区别不大
程序编写完成以后直接在控制台 node helloworld.js 就可以运行了。也可以在浏览器的控制台里面运行。
以下是包含以上所有console的代码,当然console还有其他用法
// 1. console.log() - 输出普通信息
console.log("This is a log message. Used for general logging and debugging.");
// 2. console.error() - 输出错误信息
console.error("This is an error message. Used to highlight errors or issues in the code.");
// 3. console.warn() - 输出警告信息
console.warn("This is a warning message. Used to indicate potential problems or warnings.");
// 4. console.info() - 输出信息性消息
console.info("This is an info message. Used to provide additional information.");
// 5. console.debug() - 输出调试信息
console.debug("This is a debug message. Used for detailed debugging (may require Verbose level).");
// 6. console.table() - 以表格形式输出数据
let users = [
{ name: "Alice", age: 25, city: "New York" },
{ name: "Bob", age: 30, city: "San Francisco" },
{ name: "Charlie", age: 35, city: "Los Angeles" }
];
console.table(users);
// 7. console.time() 和 console.timeEnd() - 测量代码执行时间
console.time("timer");
// 模拟耗时操作
for (let i = 0; i < 1000000; i++) {}
console.timeEnd("timer");
运行结果如下图1所示:
图1:运行结果--Firefox浏览器
好了,今天了解到这些就行了let 是用来声明变量的,知道这个后面咱们在继续学习。今天就先到这里了!祝大家新年🎉顺顺利利🧨红红火火🧧!!!
- 2025-01-15
-
回复了主题帖:
QSpice-(6) 蒙特卡洛和高斯分布
tobot 发表于 2025-1-14 22:19
QSpice仿真确实非常有意思,我以前有好好看过,我的评价是入门不难,但用好不容易
我觉得入门还是比LTspice要难的
- 2025-01-14
-
回复了主题帖:
来聊聊,你们年终总结写了吗?
吾妻思萌 发表于 2024-12-31 20:22
见识过写日报的公司真的搞死人
写日报Ok不需要检查不需要交最好
- 2025-01-13
-
回复了主题帖:
职场里的神奇现象
那Oa需要做回执啊,没有回执不能通过