Java Script note

本文深入探讨了JavaScript代码在不同HTML元素中的执行时机,并通过具体实例展示了如何使用JavaScript实现页面交互与动态效果。关键概念包括事件触发机制、CSS样式动态修改及网页布局调整。

1.<!--

在不支持js的浏览器里,这段代码就可以不显示

  //-->

  

2.

Javascript写在<body></body>中,当浏览器载入网页Body部分的时候,就执行其中的Javascript语句.

Javascript写在<head></head>中,有时候并不需要一载入HTML就运行Javascript,而是用户点击了HTML中的某个对象,触发了一个事件,才需要调用Javascript。

 

3.

// break out of frames

if (self.parent.frames.length != 0) {

self.parent.location=document.location;

}

 

4.

color: #000000;黑色

color: #dddddd;灰色

color: #ffffff;白色

color: #ff0000;红色

color: #0000ff;蓝色

 

### 关于 Java 组合模式实验的报告与示例代码 组合模式是一种结构型设计模式,它允许将对象组合成树形结构来表示“整体/部分”的层次关系[^3]。以下是基于组合模式的一个典型实验案例及其代码实现。 #### 1. **组合模式的核心概念** 组合模式的关键在于定义两种类型的组件:容器(Composite)和叶子(Leaf)。容器可以包含其他子组件,而叶子则不能再有下级节点。这种设计使得客户端能够一致地对待单个对象和复合对象。 #### 2. **实验目标** 通过本实验,学生应掌握如何使用组合模式构建具有层级结构的对象集合,并理解其在实际开发中的应用场景。 --- #### 3. **示例代码** 以下是一个简单的 Java 示例,展示如何利用组合模式模拟文件系统的目录结构: ```java // 定义公共接口或抽象类 abstract class Component { protected String name; public Component(String name) { this.name = name; } public abstract void add(Component component); public abstract void remove(Component component); public abstract void getInfo(); } // 叶子节点 (文件) class File extends Component { public File(String name) { super(name); } @Override public void add(Component component) { throw new UnsupportedOperationException("Cannot add to a file."); } @Override public void remove(Component component) { throw new UnsupportedOperationException("Cannot remove from a file."); } @Override public void getInfo() { System.out.println("File: " + name); } } // 容器节点 (文件夹) class Folder extends Component { private List<Component> children = new ArrayList<>(); public Folder(String name) { super(name); } @Override public void add(Component component) { children.add(component); } @Override public void remove(Component component) { children.remove(component); } @Override public void getInfo() { System.out.println("Folder: " + name); for (Component child : children) { child.getInfo(); // 遍历并打印子节点信息 } } } public class Main { public static void main(String[] args) { // 创建根目录 Folder root = new Folder("Root"); // 添加文件到根目录 root.add(new File("Document.txt")); root.add(new File("Image.png")); // 创建子文件夹 Folder subFolder = new Folder("SubFolder"); subFolder.add(new File("Note.docx")); subFolder.add(new File("Script.js")); // 将子文件夹加入根目录 root.add(subFolder); // 打印整个文件系统的信息 root.getInfo(); } } ``` 上述代码展示了如何创建一个由文件和文件夹组成的虚拟文件系统。`Folder` 类作为容器支持嵌套操作,而 `File` 则代表无法进一步分解的终端单元。 --- #### 4. **运行结果分析** 执行以上程序后,控制台会输出类似下面的内容: ``` Folder: Root File: Document.txt File: Image.png Folder: SubFolder File: Note.docx File: Script.js ``` 这表明无论处理的是单一文件还是复杂目录结构,都可以统一调用相同方法完成遍历或其他逻辑操作。 --- #### 5. **注意事项** - 如果某些功能仅适用于特定类型,则应在相应类中显式声明不支持的行为(如上文中提到的 `UnsupportedOperationException`),从而避免误用。 - 设计时需考虑性能优化问题;对于大规模数据集而言,频繁递归可能带来额外开销。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值