随笔分类 -  javascript

摘要:特点: 服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话 建立在 TCP 协议之上,服务器端的实现比较容易。 与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。 阅读全文
posted @ 2020-08-19 14:56 枫叶布 阅读(196) 评论(0) 推荐(0)
摘要:web worker 多开子线程,且这些子线程无I/O权限,只能为主线程分担一些诸如计算的任务 不足worker内代码不能操作DOM(更新UI)只能加载服务器的js文件且不能跨域加载JS不是所有浏览器都支持这个特性 API1. 主线程①创建新的Workervar worker = new Worke 阅读全文
posted @ 2020-08-19 14:40 枫叶布 阅读(267) 评论(0) 推荐(0)
摘要:基本概念 堆:存储对象栈:存储基础类型变量及对象的指针 执行栈:执行同步js脚本的地方 事件队列:异步js存放的地方 定义:当前执行栈中的所有任务都执行完毕, 主线程处于闲置状态时,主线程会去查找事件队列是否有任务。如果有,那么主线程会从中取出排在第一位的事件,并把这个事件对应的回调放入执行栈中,然 阅读全文
posted @ 2020-08-19 14:32 枫叶布 阅读(238) 评论(0) 推荐(0)
摘要:先上图: 首先,要明确几个点:1.在JS里,万物皆对象。 方法(Function)是对象,方法的原型(Function.prototype)是对象。因此,它们都会具有对象共有的特点。 即:对象具有属性__proto__,可称为隐式原型,一个对象的隐式原型指向构造该对象的构造函数的原型,这也保证了实例 阅读全文
posted @ 2020-03-26 18:31 枫叶布 阅读(3355) 评论(0) 推荐(0)
摘要:function getYourIP(){ var RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection; if (RTCPeerCo 阅读全文
posted @ 2019-08-06 16:01 枫叶布 阅读(17693) 评论(1) 推荐(0)
摘要:Document 阅读全文
posted @ 2019-04-22 08:42 枫叶布 阅读(220) 评论(0) 推荐(0)
摘要:效果如下: 阅读全文
posted @ 2019-01-30 11:13 枫叶布 阅读(326) 评论(0) 推荐(0)
摘要:首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根。 阻止冒泡:1、对于非IE浏览器:stopPropagation()。2、对于IE浏览器:cancelBubble属性 阅读全文
posted @ 2018-11-30 15:12 枫叶布 阅读(8506) 评论(0) 推荐(0)
摘要:思路:采用flex布局,js即时修改固定列的宽度 注意:父元素需设置position:relative;因offsetLeft和offsetTop是相对于具有定位的(position:absolute或者position:relative)父级元素的距离 html: css: js: 效果如下: 阅读全文
posted @ 2018-11-28 15:52 枫叶布 阅读(2105) 评论(0) 推荐(0)
摘要:dom事件级别: dom0:DOM0就是直接通过 onclick写在html里面的事件 dom2:通过addEventListener绑定的事件 dom3:对dom2的扩展,新添加了一些事件 dom事件模型:捕获,冒泡 dom事件流:捕捉,目标,冒泡 捕捉阶段 当某个事件被触发时,浏览器会找到涉及的 阅读全文
posted @ 2018-09-13 15:54 枫叶布 阅读(180) 评论(0) 推荐(0)
摘要:方法1: substr() 方法 方法2: substring() 方法 方法3: slice()方法 方法4: indexOf() 方法 方法5: startsWith(),endsWith(),不过兼容不好 方法6: 正则 阅读全文
posted @ 2018-09-07 15:17 枫叶布 阅读(125125) 评论(0) 推荐(2)
摘要:表单元素 disabled 没有之一。 非表单元素 非表单,自然没有 disabled 之说,但可以借助中间变量。 配合CSS 最后再配合css就更完美了。 下面的例子用jquery。 解决思路,设置一个条件来触发事件:那么问题来了,怎么设置条件 ?可以用setTimeout函数来改变条件的值。 阅读全文
posted @ 2018-06-21 15:09 枫叶布 阅读(4964) 评论(1) 推荐(1)
摘要:借助js的Blob对象FormData对象可以实现大文件分片上传的功能,关于Blob和FormData的具体使用方法可以到如下地址去查看FormData 对象的使用Blob 对象的使用以下是实现代码,本例中后端代码使用php来实现,只是演示基本功能,具体一些文件验证逻辑先忽略。前段代码: 后端php 阅读全文
posted @ 2018-06-06 10:48 枫叶布 阅读(23172) 评论(1) 推荐(3)
摘要:首先需要引入js文件(二选一): 示例代码(需要更换spark-md5.js的路径): 阅读全文
posted @ 2018-01-23 10:22 枫叶布 阅读(11625) 评论(0) 推荐(0)
摘要:调用方法: 阅读全文
posted @ 2018-01-23 10:07 枫叶布 阅读(14248) 评论(2) 推荐(2)
摘要: 阅读全文
posted @ 2017-12-19 13:17 枫叶布 阅读(6262) 评论(0) 推荐(0)
摘要:先上结论:他们是描述事件触发时序问题的术语。事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。相反的,事件冒泡是自下而上的去触发事件。绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获。true,事件捕获;false,事件冒泡。默认false,即事件冒泡。Jqu 阅读全文
posted @ 2017-12-13 10:50 枫叶布 阅读(303) 评论(0) 推荐(0)
摘要:1.For循环 格式: 执行顺序:1、初始语句 2、执行条件是否符合 3、循环体 4、增加增量 初始化语句只在循环开始前执行一次,每次执行循环体时要先判断是否符合条件,如果循环条件为true,则执行循环体,再执行迭代语句。 所以对于for循环,循环条件总比循环体多执行一次。 注意:for循环的循环体 阅读全文
posted @ 2017-11-13 17:26 枫叶布 阅读(202421) 评论(0) 推荐(10)
摘要:In:(检测自身及原型属性) undefined(检测自身及原型属性) 条件语句中直接判断(检测自身及原型属性) hansOwnProperty(检测自身属性) 阅读全文
posted @ 2017-11-09 15:32 枫叶布 阅读(688) 评论(0) 推荐(0)
摘要:1.数据展示类(使用 toPrecision 凑整并 parseFloat 转成数字后再显示) 封装成方法如下: 2.数据运算类(对于运算类操作,如 +-*/,就不能使用 toPrecision 了。正确的做法是把小数转成整数后再运算) 以加法为例: 阅读全文
posted @ 2017-11-09 09:21 枫叶布 阅读(1294) 评论(0) 推荐(0)