Skip to content

Commit 5fdc5b2

Browse files
authored
Merge pull request #47 from qianmoQ/dev-25.0.3
2 parents b92166d + a246049 commit 5fdc5b2

File tree

15 files changed

+728
-13
lines changed

15 files changed

+728
-13
lines changed

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@ jobs:
3232
- name: Deploy
3333
uses: peaceiris/actions-gh-pages@v3
3434
with:
35-
github_token: ${{ secrets.GH_TOKEN }}
35+
github_token: ${{ secrets.GITHUB_TOKEN }}
3636
publish_dir: docs/dist

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ CodeForge 是一款轻量级、高性能的桌面代码执行器,专为开发
2727
- **Clojure**
2828
- **Go**
2929
- **Java**
30+
- **JavaScript (Browser)**
31+
- **JavaScript (jQuery)**
3032
- **JavaScript (Node.js)**
3133
- **Kotlin**
3234
- **Node.js**
Lines changed: 11 additions & 0 deletions
Loading

public/icons/javascript-jquery.svg

Lines changed: 11 additions & 0 deletions
Loading
Lines changed: 264 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
// JavaScript (Browser) 示例代码 - CodeForge 代码执行环境
2+
3+
console.log('🎉 欢迎使用 CodeForge!');
4+
console.log('Welcome to CodeForge!');
5+
console.log('');
6+
7+
console.log('=========================================');
8+
console.log(' CodeForge JavaScript ');
9+
console.log('=========================================');
10+
console.log('');
11+
12+
// 基本输出示例
13+
console.log('✅ JavaScript 运行成功! (JavaScript is working!)');
14+
console.log('🌟 这是 Node.js 脚本 (This is Node.js script)');
15+
console.log('');
16+
17+
// 变量操作
18+
const name = 'CodeForge';
19+
const version = 'JavaScript';
20+
const number1 = 10;
21+
const number2 = 20;
22+
const result = number1 + number2;
23+
24+
console.log('🔢 简单计算 (Simple calculation):');
25+
console.log(`${number1} + ${number2} = ${result}`);
26+
console.log('');
27+
28+
// 字符串操作
29+
console.log('📝 字符串操作 (String operations):');
30+
console.log(`平台名称 (Platform): ${name}`);
31+
console.log(`语言版本 (Language): ${version}`);
32+
console.log(`完整信息 (Full info): ${name} - ${version}`);
33+
console.log('');
34+
35+
// 循环示例
36+
console.log('🔄 循环输出 (Loop output):');
37+
for (let i = 1; i <= 5; i++) {
38+
console.log(`第 ${i} 次输出 (Output #${i}): Hello from CodeForge!`);
39+
}
40+
console.log('');
41+
42+
// 数组操作
43+
const fruits = ['苹果', '香蕉', '橙子', '葡萄'];
44+
console.log('🍎 水果列表 (Fruit list):');
45+
fruits.forEach((fruit, index) => {
46+
console.log(`${index + 1}. ${fruit}`);
47+
});
48+
console.log('');
49+
50+
// 条件判断
51+
const score = 85;
52+
console.log('📊 成绩评估 (Score evaluation):');
53+
if (score >= 90) {
54+
console.log('优秀! (Excellent!)');
55+
} else if (score >= 80) {
56+
console.log('良好! (Good!)');
57+
} else if (score >= 60) {
58+
console.log('及格 (Pass)');
59+
} else {
60+
console.log('需要努力 (Need improvement)');
61+
}
62+
console.log('');
63+
64+
// undefined 和 null 示例
65+
console.log('🔍 undefined/null 示例 (undefined/null example):');
66+
let optionalValue = 42;
67+
if (optionalValue !== undefined && optionalValue !== null) {
68+
console.log(`可选值: ${optionalValue} (Optional value: ${optionalValue})`);
69+
} else {
70+
console.log('值为空 (Value is undefined/null)');
71+
}
72+
console.log('');
73+
74+
// 函数示例
75+
function greetUser(username) {
76+
return `Hello, ${username}! 👋`;
77+
}
78+
79+
console.log('🎭 函数示例 (Function example):');
80+
const greeting = greetUser('CodeForge用户');
81+
console.log(greeting);
82+
console.log('');
83+
84+
// 箭头函数示例
85+
const addNumbers = (a, b) => a + b;
86+
const multiplyNumbers = (a, b) => {
87+
return a * b;
88+
};
89+
90+
console.log('⚡ 箭头函数示例 (Arrow function example):');
91+
console.log(`5 + 3 = ${addNumbers(5, 3)}`);
92+
console.log(`6 × 7 = ${multiplyNumbers(6, 7)}`);
93+
console.log('');
94+
95+
// 数组高阶函数示例
96+
console.log('🔧 数组高阶函数示例 (Array higher-order functions):');
97+
const numbers = Array.from({length: 10}, (_, i) => i + 1);
98+
const evenNumbers = numbers.filter(num => num % 2 === 0);
99+
const doubled = numbers.map(num => num * 2);
100+
const sum = numbers.reduce((acc, num) => acc + num, 0);
101+
102+
console.log(`原始数字 (Original): ${numbers.join(', ')}`);
103+
console.log(`偶数 (Even numbers): ${evenNumbers.join(', ')}`);
104+
console.log(`翻倍 (Doubled): ${doubled.join(', ')}`);
105+
console.log(`总和 (Sum): ${sum}`);
106+
console.log('');
107+
108+
// 对象操作示例
109+
console.log('👤 对象示例 (Object example):');
110+
const person = {
111+
name: '张三',
112+
age: 25,
113+
city: '北京',
114+
introduce() {
115+
return `我是${this.name},今年${this.age}岁,住在${this.city}`;
116+
}
117+
};
118+
119+
console.log(`姓名: ${person.name}, 年龄: ${person.age}, 城市: ${person.city}`);
120+
console.log(person.introduce());
121+
console.log('');
122+
123+
// 解构赋值示例
124+
console.log('🔍 解构赋值示例 (Destructuring assignment):');
125+
const {name: personName, age: personAge} = person;
126+
const [first, second, ...rest] = fruits;
127+
128+
console.log(`解构对象 (Destructured object): ${personName}, ${personAge}`);
129+
console.log(`解构数组 (Destructured array): ${first}, ${second}, 其他: [${rest.join(', ')}]`);
130+
console.log('');
131+
132+
// Promise 示例
133+
console.log('🎯 Promise 示例 (Promise example):');
134+
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
135+
136+
// 使用 Promise
137+
delay(100)
138+
.then(() => {
139+
console.log('Promise 已完成! (Promise completed!)');
140+
return '异步操作结果';
141+
})
142+
.then(result => {
143+
console.log(`异步结果: ${result}`);
144+
})
145+
.catch(error => {
146+
console.error('Promise 错误:', error);
147+
});
148+
149+
// async/await 示例
150+
async function asyncExample() {
151+
try {
152+
console.log('⏳ 开始异步操作...');
153+
await delay(50);
154+
console.log('✅ async/await 完成!');
155+
return '异步函数结果';
156+
} catch (error) {
157+
console.error('async/await 错误:', error);
158+
}
159+
}
160+
161+
// 立即执行异步函数
162+
(async () => {
163+
const result = await asyncExample();
164+
console.log(`异步函数返回: ${result}`);
165+
console.log('');
166+
})();
167+
168+
// 类和继承示例
169+
console.log('🏗️ 类示例 (Class example):');
170+
class Animal {
171+
constructor(name, type) {
172+
this.name = name;
173+
this.type = type;
174+
}
175+
176+
speak() {
177+
return `${this.name} 发出声音`;
178+
}
179+
}
180+
181+
class Dog extends Animal {
182+
constructor(name) {
183+
super(name, '狗');
184+
}
185+
186+
speak() {
187+
return `${this.name} 汪汪叫`;
188+
}
189+
}
190+
191+
const dog = new Dog('小黄');
192+
console.log(dog.speak());
193+
console.log('');
194+
195+
// 模块和导出示例(注释版本,因为这是单文件)
196+
console.log('📦 模块概念示例 (Module concept example):');
197+
// export const utilities = {
198+
// formatDate: (date) => date.toLocaleDateString('zh-CN'),
199+
// randomNumber: () => Math.floor(Math.random() * 100)
200+
// };
201+
202+
const utilities = {
203+
formatDate: (date) => date.toLocaleDateString('zh-CN'),
204+
randomNumber: () => Math.floor(Math.random() * 100)
205+
};
206+
207+
console.log(`当前日期: ${utilities.formatDate(new Date())}`);
208+
console.log(`随机数: ${utilities.randomNumber()}`);
209+
console.log('');
210+
211+
// JSON 操作示例
212+
console.log('📄 JSON 操作示例 (JSON operations):');
213+
const data = {
214+
users: [
215+
{id: 1, name: 'Alice', active: true},
216+
{id: 2, name: 'Bob', active: false},
217+
{id: 3, name: 'Charlie', active: true}
218+
]
219+
};
220+
221+
const jsonString = JSON.stringify(data, null, 2);
222+
console.log('JSON 字符串:');
223+
console.log(jsonString);
224+
225+
const parsedData = JSON.parse(jsonString);
226+
const activeUsers = parsedData.users.filter(user => user.active);
227+
console.log(`活跃用户: ${activeUsers.map(u => u.name).join(', ')}`);
228+
console.log('');
229+
230+
// 错误处理示例
231+
console.log('🚨 错误处理示例 (Error handling):');
232+
try {
233+
const riskyOperation = () => {
234+
const random = Math.random();
235+
if (random < 0.5) {
236+
throw new Error('随机错误发生了!');
237+
}
238+
return '操作成功!';
239+
};
240+
241+
const result2 = riskyOperation();
242+
console.log(result2);
243+
} catch (error) {
244+
console.log(`捕获错误: ${error.message}`);
245+
} finally {
246+
console.log('错误处理完成');
247+
}
248+
console.log('');
249+
250+
// 正则表达式示例
251+
console.log('🔤 正则表达式示例 (Regular expressions):');
252+
const text = 'CodeForge 是一个很棒的代码执行环境! Email: contact@codeforge.com';
253+
const emailRegex = /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g;
254+
const emails = text.match(emailRegex);
255+
256+
console.log(`文本: ${text}`);
257+
console.log(`找到的邮箱: ${emails ? emails.join(', ') : '无'}`);
258+
console.log('');
259+
260+
console.log('🎯 CodeForge JavaScript 代码执行完成!');
261+
console.log('🎯 CodeForge JavaScript execution completed!');
262+
console.log('');
263+
console.log('感谢使用 CodeForge 代码执行环境! 🚀');
264+
console.log('Thank you for using CodeForge! 🚀');

0 commit comments

Comments
 (0)