ArrayList源码解析 ArrayList源码解析数据结构自定义了序列化的writeObject和readObject方法,只序列化实际存在的元素,所以这里将elementData标记为transient,不需要序列化空的元素 1234567891011121314/** * The array buffer into which the elements of the ArrayList are stored. * T 2023-05-02 Java核心技术 #Java
模块 模块CommonJS模块加载为同步操作,模块加载后会被缓存,后续加载会取得缓存的模块 1234let moduleB = require('./moduleB')module.exports = { stuff: moduleB.doStuff()} ES6模块模块标签与定义1<script type='module' sr 2023-05-02 JavaScript高级程序设计 #JavaScript
客户端存储 客户端存储Cookie限制 不超过300个cookie 每个cookie不超过4096字节,超出限制,则静默删除 每个域不超过20个cookie 每个域不超过81920字节 cookie的构成1Set-Cookie: name=value; expires=xxx; domain=.wrox.com; path=/; secure 名称和值必须经过URL编码 域:cookie有效的域,发送到这 2023-05-02 JavaScript高级程序设计 #JavaScript
网络请求与远程资源 网络请求与远程资源XMLHttpRequest对象使用XHR12345678910111213141516171819202122232425262728293031let xhr = new XMLHttpRequest()// 同步请求的处理方式xhr.open('get', 'https://www.baidu.com', false)xhr.send 2023-04-30 JavaScript高级程序设计 #JavaScript
JSON JSON语法简单值字符串(必须双引号)、数值、布尔值和null,特殊值undefined不可以 对象属性名必须添加双引号 数组和JavaScript数组字面量形式相同 解析与序列化序列化选项过滤结果123456789101112131415161718192021let book = { title: 'Professional JavaScript', 2023-04-30 JavaScript高级程序设计 #JavaScript
JavaScript API JavaScript APIAtomics和SharedArrayBufferSharedArrayBufferSharedArrayBuffer与ArrayBuffer具有同样的API,但是ArrayBuffer必须在不同执行上下文间切换,而SharedArrayBuffer可以被任意多个执行上下文同时使用 原子操作基础123456789101112131415let sharedArrayBu 2023-04-28 JavaScript高级程序设计 #JavaScript
表单脚本 表单脚本表单基础1234567891011let form = document.getElementById('form1')form.acceptCharset // 服务器可以接受的字符集 ,等价于HTML的accept-charset属性form.action // 请求的URLform.elements // 表单中所有控件form.enctype // 请求的编码类 2023-04-16 JavaScript高级程序设计 #JavaScript
动画与canvas图形 动画与canvas图形requestAnimationFrame12345678910111213141516function rafThrottle(fn) { let lock = false return function(...args) { if (lock) return lock = true window.r 2023-04-15 JavaScript高级程序设计 #JavaScript
事件 事件事件流事件冒泡事件被定义为从最具体的元素开始触发,向上传播至没有那么具体的元素 事件捕获最不具体的节点应该最先收到事件,而具体的节点应该最后收到事件 事件处理程序1234567let btn = document.getElementById('myBtn')btn.addEventListener('click', function() { 2023-04-11 JavaScript高级程序设计 #JavaScript
DOM2和DOM3 DOM2和DOM3DOM的演进documentdomcument属性defaultView,指向当前文档的窗口 Node12345678let div1 = document.createElement('div')div1.setAttribute('class', 'box')let div2 = document.createEle 2023-04-08 JavaScript高级程序设计 #JavaScript