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

中国企业网站查询.net网站开发的例子

中国企业网站查询,.net网站开发的例子,网站建设作业素材,可以用电脑做网站主机吗ES模块语法详解ES6(ECMAScript 2015)引入了模块系统,这是JavaScript语言层面的模块化方案。下面我将详细讲解ES模块的语法和使用方法。基本概念ES模块允许你将代码分割成多个独立文件,每个文件可以导出特定的功能,并在…

ES模块语法详解

ES6(ECMAScript 2015)引入了模块系统,这是JavaScript语言层面的模块化方案。下面我将详细讲解ES模块的语法和使用方法。

基本概念

ES模块允许你将代码分割成多个独立文件,每个文件可以导出特定的功能,并在其他文件中导入使用。这种模块化方式使得代码更易于维护、重用和测试。

核心语法

1. 命名导出 (Named Exports)

javascript

// 方式1: 声明时直接导出
export const name = 'value';
export function myFunction() { /* ... */ }
export class MyClass { /* ... */ }// 方式2: 声明后统一导出
const name = 'value';
function myFunction() { /* ... */ }
class MyClass { /* ... */ }export { name, myFunction, MyClass };// 方式3: 重命名导出
export { name as newName, myFunction as func };

2. 默认导出 (Default Export)

javascript

// 每个模块只能有一个默认导出
export default function() { /* ... */ }
// 或
export default class MyClass { /* ... */ }
// 或
const value = 'something';
export default value;

3. 导入语法

javascript

// 导入命名导出
import { name, myFunction } from './module.js';// 重命名导入
import { name as newName } from './module.js';// 导入默认导出
import defaultExport from './module.js';// 混合导入
import defaultExport, { namedExport } from './module.js';// 导入所有导出为命名空间对象
import * as moduleNamespace from './module.js';// 仅执行模块,不导入任何内容
import './module.js';

实际示例

下面是一个简单的实现,展示ES模块的实际使用:

html

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ES模块语法示例</title><style>body {font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;max-width: 800px;margin: 0 auto;padding: 20px;background-color: #f5f8fa;color: #333;}.container {background-color: white;border-radius: 8px;padding: 20px;box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);}h1 {color: #2c3e50;border-bottom: 2px solid #eee;padding-bottom: 10px;}.code-block {background-color: #f8f9fa;border-left: 4px solid #3498db;padding: 15px;margin: 15px 0;overflow-x: auto;font-family: 'Consolas', 'Monaco', monospace;}.example {background-color: #e8f4fc;padding: 15px;border-radius: 6px;margin: 15px 0;}button {background-color: #3498db;color: white;border: none;padding: 10px 15px;border-radius: 4px;cursor: pointer;margin: 5px;}button:hover {background-color: #2980b9;}.output {margin-top: 15px;padding: 15px;background-color: #f9f9f9;border-radius: 4px;min-height: 50px;}</style>
</head>
<body><div class="container"><h1>ES模块语法详解</h1><section><h2>命名导出与导入</h2><div class="code-block">// mathUtils.js<br>export const PI = 3.14159;<br>export function square(x) { return x * x; }<br>export function cube(x) { return x * x * x; }<br><br>// 使用方式<br>import { PI, square, cube } from './mathUtils.js';</div><div class="example"><h3>示例:计算数学运算</h3><button οnclick="calculateSquare()">计算平方</button><button οnclick="calculateCube()">计算立方</button><div class="output" id="mathOutput"></div></div></section><section><h2>默认导出与导入</h2><div class="code-block">// logger.js<br>export default function(message) {<br>&nbsp;&nbsp;console.log(`[LOG]: ${message}`);<br>}<br><br>// 使用方式<br>import log from './logger.js';<br>log('Hello, modules!');</div><div class="example"><h3>示例:记录日志</h3><button οnclick="logMessage()">记录日志</button><div class="output" id="logOutput"></div></div></section><section><h2>混合导出与导入</h2><div class="code-block">// utilities.js<br>export const version = '1.0.0';<br>export function helper() { /* ... */ }<br>export default function mainUtility() { /* ... */ }<br><br>// 使用方式<br>import mainUtil, { version, helper } from './utilities.js';</div></section><section><h2>命名空间导入</h2><div class="code-block">// 导入所有导出为命名空间对象<br>import * as math from './mathUtils.js';<br><br>// 使用方式<br>console.log(math.PI);<br>math.square(5);</div><div class="example"><h3>示例:使用命名空间</h3><button οnclick="useNamespace()">使用命名空间计算</button><div class="output" id="namespaceOutput"></div></div></section></div><script type="module">// 导入模块功能import { PI, square, cube } from './mathUtils.js';import log from './logger.js';import * as math from './mathUtils.js';// 使函数在全局可用以便按钮调用window.calculateSquare = function() {const value = 5;const result = square(value);document.getElementById('mathOutput').innerHTML = `square(${value}) = ${result}`;};window.calculateCube = function() {const value = 4;const result = cube(value);document.getElementById('mathOutput').innerHTML = `cube(${value}) = ${result}`;};window.logMessage = function() {const message = `当前时间: ${new Date().toLocaleTimeString()}`;log(message);document.getElementById('logOutput').innerHTML = `已记录日志: "${message}" - 查看控制台获取详细信息`;};window.useNamespace = function() {const value = 7;const squared = math.square(value);const cubed = math.cube(value);document.getElementById('namespaceOutput').innerHTML = `使用命名空间计算:<br>${value}² = ${squared}<br>${value}³ = ${cubed}`;};</script>
</body>
</html>

模块文件

需要创建以下模块文件与HTML文件放在同一目录:

mathUtils.js:

javascript

export const PI = 3.14159;export function square(x) {return x * x;
}export function cube(x) {return x * x * x;
}

logger.js:

javascript

export default function(message) {const timestamp = new Date().toISOString();const logMessage = `[${timestamp}] LOG: ${message}`;console.log(logMessage);return logMessage;
}

关键特性说明

  1. 严格模式:ES模块自动处于严格模式

  2. 静态结构:导入导出必须在顶层作用域,不能条件导入

  3. 单例模式:多次导入同一模块只会执行一次

  4. 实时绑定:导入的是值的引用,不是拷贝

  5. 支持循环依赖:但需要小心设计

浏览器支持

现代浏览器都支持ES模块,但需要注意:

  • 使用<script type="module">标签

  • 文件路径需要完整(包括扩展名)

  • 通过本地服务器运行(如Live Server),不能直接文件协议打开

http://www.dtcms.com/a/452327.html

相关文章:

  • 男女做暖暖到网站网站建设费用详细表
  • 建筑网站搜图现在还做响应式网站吗
  • 网站建设 资质荣誉长春seo关键词排名
  • 网站特效js代码郑州网站建设工作室
  • 网站开发拥有权约定网页制作基础教程26页简答题是什么
  • flash网站优缺点泸州市住房和城乡建设网站
  • 有个做特价的购物网站权威发布新闻的含义
  • 医美三方网站怎么做网站开发什么语言
  • 兴宁网站建设设计临沂门户网站制作
  • 演示网站怎么做wordpress 表格 文章列表
  • 湘潭网站建设 皆来磐石网络wordpress引用轮播图文件
  • 交易类网站建设功能表seo实战密码在线阅读
  • 网站建设代码流程南通市交通建设处网站
  • 罗湖网站建烟台环保网站建设
  • 如何制作网站建设胶南网站建设价格
  • 绿色的医疗资讯手机网站wap模板html源码下载怎么在四川建设厅网站上进行劳务合同备案
  • 网站开发加盟商怎么做杭州网站设计 site
  • 外贸公司有必要建设网站吗外贸人才网属于什么电子商务模式
  • 温州市建设工程招投标网站培训课程总结
  • iis7添加网站网站策划书模板
  • 上海网站建设yes404猫咪社区免费资源在线观看
  • 珠海工商年检到哪个网站做论文中参考文献对不上
  • 数据网站建设工具模板东莞普工招聘最新招聘信息
  • 微信分享网站显示图片郑州百度快照优化排名
  • 东莞公司网站怎么做东莞市建设质量监督站
  • 惠州网站建设 英语6怎样弄免费网站
  • 网站不能访问如何做冗余怎么做单位网站
  • 沈阳市建设工程信息seo教程技术资源
  • 工作室 网站长沙网络推广代理
  • 重庆铜梁网站建设费用网站建设布为网