抄
創(chuàng)建于 2024-03-28 15:25:02
當(dāng)然可以,以下是JavaScript在Web開(kāi)發(fā)中的一些常見(jiàn)應(yīng)用場(chǎng)景的實(shí)例代碼。
- 前端開(kāi)發(fā):動(dòng)態(tài)效果和交互功能
示例:按鈕點(diǎn)擊事件
html
<!DOCTYPE html>
<html lang=“en”>
<head>
<meta charset=“UTF-8”>
<title>Button Click Example</title>
</head>
<body>
<button id=“myButton”>Click me!</button>
<script>
document.getElementById(‘myButton’).addEventListener(‘click’, function() {
alert('Button clicked!');
});
</script>
</body>
</html>
- DOM操作
示例:修改頁(yè)面元素內(nèi)容
html
<!DOCTYPE html>
<html lang=“en”>
<head>
< charset=“UTF-8”>
<title>DOM Manipulation Example</title>
</head>
<body>
<p id=“myParagraph”>Hello, World!</p>
<script>
var paragraph = document.getElementById(‘myParagraph’);
paragraph.textContent = ‘Hello, JavaScript!’;
</script>
</body>
</html>
- 表單驗(yàn)證
示例:表單提交前驗(yàn)證
html
<!DOCTYPE html>
<html lang=“en”>
<head>
<meta charset=“UTF-8”>
<title>Form Validation Example</title>
</head>
<body>
<form id=“myForm”>
<label for="username">Username:</label>
<input type="text" id="username" name="username" required>
<input type="submit" value="Submit">
</form>
<script>
document.getElementById(‘myForm’).addEventListener(‘submit’, function(event) {
var username = document.getElementById('username').value;
if (username === '') {
alert('Please enter a username!');
event.preventDefault(); // Prevent form submission
}
});
</script>
</body>
</html>
- 后端開(kāi)發(fā)(Node.js)
示例:一個(gè)簡(jiǎn)單的HTTP服務(wù)器
javascript
const http = require(‘http’);
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, Node.js!\n');
});
server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
- 移動(dòng)應(yīng)用開(kāi)發(fā)(React Native)
示例:一個(gè)簡(jiǎn)單的React Native按鈕
javascript
import React from ‘react’;
import from ‘react-native’;
const App = () => {
return (
<View style=}>
<Button
title="Press Me"
onPress={() => {
alert('You pressed the button!');
}}
/>
</View>
);
};
export default App;
- 數(shù)據(jù)可視化(D3.js)
示例:繪制一個(gè)簡(jiǎn)單的條形圖
html
<!DOCTYPE html>
<html lang=“en”>
<he>
<meta charset=“UTF-8”>
<title>D3.js Bar Chart Example</title>
<script src=”https://d3js.org/d3.v6.min.js”></script>
</head>
<body>
<svg width=“500” height=“300”></svg>
<script>
var svg = d3.select(“svg”);
var data = [10, 20, 30, 40, 50];
svg.selectAll(“rect”)
.data(data)
.enter()
.append("rect")
.attr("x", function(d, i) )
.attr("y", function(d) )
.attr("width", 40)
.attr("height", function(d) )
.attr("fill", "steelblue");
</script>
</body>
</html>
- AJAX 技術(shù)
示例:使用Fetch API發(fā)送GET請(qǐng)求
html
<!DOCTYPE html>
<html lang=“en”>
<head>
<meta charset=“UTF-8”>
<title>AJAX Example with Fetch API</title>
</head>
<body>
<button id=“loadData”>Load Data</button>
<div id=“output”></div>
<script>
document.getElementById(‘loadData’).addEventListener(‘click’, function() {
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {
document.getElementById('output').textContent = JSON.stringify(data);
})
.catch(error => console.error('Error:', error));
});
</script>
</body>
</html>
- 瀏覽器擴(kuò)展和插件
示例:一個(gè)簡(jiǎn)單的瀏覽器擴(kuò)展,修改頁(yè)面背景顏色
// manifest.json
{
“manifest_version”: 2,
“name”: “Background Color Changer”,
“version”: “1.0”,
“permissions”: [“activeTab”],
“background”: {
"scripts": ["background.js"],
"persistent": false
},
“browser_action”: {
"default_title": "Change background color"
}
}
// background.js
browser.browserAction.onClicked.addListener(function(tab) {
// No tabs or host permissions needed!
function changeBackgroundColor(color) {
browser.tabs.executeScript({
code: `document.body.style.backgroundColor = '$'`
});
}
changeBackgroundColor(‘lightgreen’); // Or any other color
});
請(qǐng)注意,瀏覽器擴(kuò)展通常需要在瀏覽器的擴(kuò)展商店中發(fā)布或手動(dòng)加載到瀏覽器中,而且它們通常包含一個(gè)manifest.json文件來(lái)定義擴(kuò)展的元數(shù)據(jù)和權(quán)限。
- WebSocket 實(shí)現(xiàn)實(shí)時(shí)通信
示例:簡(jiǎn)單的WebSocket服務(wù)器和客戶端
服務(wù)器(Node.js):
javascript
const WebSocket = require(‘ws’);
const wss = new WebSocket.Server();
wss.on(‘connection’, function connection(ws) {
ws.on(‘message’, function incoming(message) {
console.log('received: %s', message);
});
ws.send(‘Hello, client!’);
});
客戶端(HTML + JavaScript):
html
<!DOCTYPE html>
<html lang=“en”>
<head>
<meta charset=“UTF-8”>
<title>WebSocket Client Example</title>
</head>
<body>
<script>
const socket = new WebSocket(‘ws://localhost:8080’);
socket.addEventListener(‘open’, function (event) {
socket.send('Hello Server!');
});
socket.dEventListener(‘message’, function (event) {
console.log('Message from server: ', event.data);
});
</script>
</body>
</html>
在上面的例子中,服務(wù)器在8080端口上監(jiān)聽(tīng)WebSocket連接,客戶端則連接到這個(gè)服務(wù)器并發(fā)送和接收消息。
這些示例代碼只是JavaScript在Web開(kāi)發(fā)中一小部分應(yīng)用的展示。實(shí)際上,JavaScript的功能和用途遠(yuǎn)不止這些,它還可以用于構(gòu)建復(fù)雜的單頁(yè)面應(yīng)用(SPA)、游戲、實(shí)時(shí)通信應(yīng)用、桌面應(yīng)用等。隨著Web技術(shù)的不斷發(fā)展,JavaScript的應(yīng)用領(lǐng)域也在不斷擴(kuò)大。
抄
創(chuàng)建于 2024-03-28 15:12:30
以下是根據(jù)不同分類的JavaScript實(shí)例代碼:
客戶端 JavaScript
客戶端JavaScript通常用于操作DOM和響應(yīng)用戶事件。下面是一個(gè)簡(jiǎn)單的例子,演示了如何改變一個(gè)HTML元素的文本內(nèi)容:
html
<!DOCTYPE html>
<html lang=“en”>
<head>
<meta charset=“UTF-8”>
<title>客戶端 JavaScript 示例</title>
</head>
<body>
<button id=“myButton”>點(diǎn)擊我</button>
<p id=“myText”>初始文本</p>
<script>
document.getElementById(‘myButton’).addEventListener(‘click’, function() {
document.getElementById('myText').textContent = '按鈕被點(diǎn)擊了!';
});
</script>
</body>
</html>
服務(wù)器端 JavaScript (Node.js)
服務(wù)器端JavaScript通常用于處理HTTP請(qǐng)求和構(gòu)建Web。以下是一個(gè)使用Express框架的簡(jiǎn)單Node.js服務(wù)器示例:
javascript
const express = require(‘express’);
const app = express();
const port = 3000;
app.get(‘/’, (req, res) => {
res.send(‘Hello World!’);
});
app.listen(port, () => {
console.log(服務(wù)器運(yùn)行在 http://localhost:$
);
});
移動(dòng)端 JavaScript (使用Cordova)
移動(dòng)端JavaScript通常用于開(kāi)發(fā)跨平臺(tái)的移動(dòng)應(yīng)用。以下是一個(gè)簡(jiǎn)單的Cordova項(xiàng)目結(jié)構(gòu)示例,其中包含了使用JavaScript調(diào)用設(shè)備API的代碼:
javascript
// 假設(shè)你已經(jīng)在Cordova項(xiàng)目中安裝了必要的插件
document.addEventListener(“deviceready”, onDeviceReady, false);
function onDeviceReady() {
// Cordova現(xiàn)在已經(jīng)加載完畢
navigator.notification.alert(
'歡迎使用Cordova!', // 消息
alertDismissed, // 回調(diào)函數(shù)
'Cordova示例', // 標(biāo)題
'確定' // 按鈕名
);
}
function alertDismissed() {
// 用戶關(guān)閉了警告對(duì)話框
}
嵌入式 JavaScript (例如Espruino)
嵌入式JavaScript通常用于控制微控制器和物聯(lián)網(wǎng)設(shè)備。以下是一個(gè)簡(jiǎn)單的Espruino示例,用于控制連接到微控制器的LED燈:
javascript
var led = new Five.Led(13); // 假設(shè)LED連接到了數(shù)字引腳13
led.on(); // 打開(kāi)LED燈
setTimeout(function() {
led.off(); // 一秒后關(guān)閉LED燈
}, 1000);
請(qǐng)注意,嵌入式JavaScript的代碼和庫(kù)會(huì)根據(jù)具體的硬件平臺(tái)而有所不同。
數(shù)據(jù)分析 JavaScript (使用D3.js)
數(shù)據(jù)分析JavaScript通常用于數(shù)據(jù)可視化和分析。以下是一個(gè)簡(jiǎn)單的D3.js示例,用于創(chuàng)建一個(gè)條形圖:
html
<!DOCTYPE html>
<html lang=“en”>
<head>
<meta charset=“UTF-8”>
<title>D3.js 示例</title>
<script src=”https://d3js.org/d3.v6.min.js”></script>
</head>
<body>
<svg width=“400” height=“100”></svg>
<script>
var data = [10, 20, 30, 40, 50];
var svg = d3.select(“svg”);
svg.selectAll(“rect”)
.data(data)
.enter()
.append("rect")
.attr("x", function(d, i) )
.attr("y", function(d) )
.attr("width", 30)
.attr("height", function(d) )
.attr("fill", "steelblue");
</script>
</body>
</html>
游戲開(kāi)發(fā) JavaScript (使用CreateJS)
游戲開(kāi)發(fā)JavaScript通常用于創(chuàng)建網(wǎng)頁(yè)游戲。以下是一個(gè)簡(jiǎn)單的CreateJS示例,用于創(chuàng)建一個(gè)動(dòng)畫(huà)角色:
html
<!DOCTYPE html>
<html>
<he>
<script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script>
</head>
<body>
<canvas id="testCanvas" width="500" height="300"></canvas>
<script>
var canvas = document.getElementById("testCanvas");
var stage = new createjs.Stage(canvas);
var bitmap = new createjs.Bitmap("character.png"); // 假設(shè)你有一個(gè)名為"character.png"的動(dòng)畫(huà)角色圖片
bitmap.x = 250;
bitmap.y = 150;
stage.addChild(bitmap);
createjs.Ticker.addEventListener("tick", stage);
function update() {
// 在這里添加你的動(dòng)畫(huà)邏輯
// 例如,移動(dòng)角色或改變其屬性
bitmap.x += 5; // 每幀向右移動(dòng)5個(gè)像素
stage.update(); // 更新舞臺(tái)以顯示變化
}
createjs.Ticker.setFPS(30); // 設(shè)置幀率為30幀每秒
createjs.Ticker.addEventListener(“tick”, update); // 添加tick事件監(jiān)聽(tīng)器以調(diào)用update函數(shù)
</script>
</body> </html>
請(qǐng)注意,這個(gè)示例假設(shè)你有一個(gè)名為”character.png”的圖片文件,并且它包含了你的動(dòng)畫(huà)角色。
服務(wù)端框架 JavaScript (使用Express)
服務(wù)端框架JavaScript通常用于快速構(gòu)建RESTful API。以下是一個(gè)使用Express框架的示例,演示了如何創(chuàng)建一個(gè)簡(jiǎn)單的API端點(diǎn):
javascript
const express = require(‘express’);
const app = express();
const port = 3000;
// 定義路由
app.get(‘/api/users’, (req, res) => {
res.json([
,
]);
});
// 啟動(dòng)服務(wù)器
app.listen(port, () => {
console.log(`API服務(wù)器運(yùn)行在 http://localhost:$`);
});
這個(gè)簡(jiǎn)單的Express應(yīng)用創(chuàng)建了一個(gè)/api/users的GET端點(diǎn),當(dāng)訪問(wèn)這個(gè)端點(diǎn)時(shí),它會(huì)返回一個(gè)包含兩個(gè)用戶的JSON數(shù)組。
這些示例代碼只是各自分類中的冰山一角,每個(gè)分類都有大量庫(kù)和框架可供使用,并且可以實(shí)現(xiàn)更加復(fù)雜和強(qiáng)大的功能。開(kāi)發(fā)者可以根據(jù)具體需求選擇最適合的工具和技術(shù)棧。
抄
創(chuàng)建于 2024-03-21 18:10:53
<!DOCTYPE html>
<html lang=“en”>
<head>
<meta charset=“UTF-8”>
<meta name=“viewport” content=“width=device-width, initial-scale=1.0”>
<title>Vue Counter App</title>
<script src=”https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js”></script>
</head>
<body>
<div id=“app”>
<h1>Vue Counter App</h1>
<p>當(dāng)前計(jì)數(shù):}</p>
<button @click="increment">增加</button>
<button @click="decrement">減少</button>
</div>
<script>
new Vue({
el: '#app',
data: {
counter: 0
},
methods: {
increment() {
this.counter++;
},
decrement() {
this.counter--;
}
}
});
</script>
</body>
</html>
在這個(gè)示例中,我們創(chuàng)建了一個(gè)簡(jiǎn)單的計(jì)數(shù)器應(yīng)用。當(dāng)點(diǎn)擊“增加”按鈕時(shí),計(jì)數(shù)器的值會(huì)增加;當(dāng)點(diǎn)擊“減少”按鈕時(shí),計(jì)數(shù)器的值會(huì)減少。這個(gè)示例展示了 .js 的幾個(gè)重要概念:
數(shù)據(jù)綁定:} 這個(gè)插值表達(dá)式將 counter 數(shù)據(jù)綁定到了視圖中,當(dāng) counter 的值改變時(shí),視圖會(huì)自動(dòng)更新以反映這些變化。
事件處理:@click 指令用于監(jiān)聽(tīng)按鈕的點(diǎn)擊事件,并在事件發(fā)生時(shí)執(zhí)行相應(yīng)的方法。
聲明式渲染:Vue.js 使用了聲明式的模板語(yǔ)法,使得開(kāi)發(fā)者可以直觀地描述應(yīng)用的界面狀態(tài),而不需要手動(dòng)操作 DOM。
這只是一個(gè)簡(jiǎn)單的示例,Vue.js 還提供了許多其他功能,如計(jì)算屬性、組件、路由等,可以用于構(gòu)建更加復(fù)雜和功能豐富的應(yīng)用程序。
抄
創(chuàng)建于 2024-03-21 17:44:30
<!DOCTYPE html>
<html lang=“zh-CN”>
<head>
<meta charset=“UTF-8”>
<meta name=“viewport” content=“width=device-width, initial-scale=1.0”>
<title>LayDate 示例</title>
<link rel=“stylesheet” href=”https://cdn.staticfile.org/layui/2.6.8/css/layui.css%22%3E
</head>
<body>
<h1>LayDate 示例</h1>
<input type=“text” id=“dateInput” placeholder=“請(qǐng)選擇日期”>
<script src=”https://cdn.staticfile.org/layui/2.6.8/layui.js%22%3E%3C/script%3E
<script>
layui.use(‘laydate’, function() {
var laydate = layui.laydate;
// 初始化 LayDate
laydate.render({
elem: ‘#dateInput’, // 綁定元素
type: ‘date’, // 設(shè)置日期格式為 yyyy-MM-dd
theme: ‘molv’, // 設(shè)置主題風(fēng)格
done: function(value, date) { // 選擇日期后的回調(diào)函數(shù)
console.log(value); // 打印選擇的日期值
}
});
});
</script>
</body>
</html>
抄
創(chuàng)建于 2024-03-20 14:26:19
<!DOCTYPE html>
<html lang=“en”>
<head>
<meta charset=“UTF-8”>
<meta name=“viewport” content=“width=device-width, initial-scale=1.0”>
<title>Code Editor</title>
<link rel=“stylesheet” href=”https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.3/codemirror.min.css”>
</head>
<body>
<textarea id=“editor”></textarea>
<script src=”https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.3/codemirror.min.js”></script>
<script src=”https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.63.3/mode/javascript/javascript.min.js”></script>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById(“editor”), {
lineNumbers: true,
mode: ‘text/javascript’, // 設(shè)置語(yǔ)言模式為 JavaScript
theme: ‘material’ // 可以選擇不同的主題
});
</script>
</body>
</html>