随笔分类 - js
摘要:传递给console.log的对象是不能被垃圾回收 ,因为在代码运行之后须要在开发工具能查看对象信息。所以最好不要在生产环境中console.log任何对象。 我们可以在mian.js中对console.log重新定义,即可实现生成环境屏蔽console.log的目的。 console.log =
阅读全文
摘要:window.postMessage() 方法允许来自一个文档的脚本可以传递文本消息到另一个文档里的脚本,而不用管是否跨域。他们可以用这种消息传递技术来实现安全的通信。 这项技术称为“跨文档/跨窗口/跨域消息传递” postMessage() 方法为异步消息传递。可用于解决以下方面的问题: 1、页面
阅读全文
摘要:js中进制 0b开头表示二进制 0开头表示八进制 0x开头表示十六进制 100 //是10进制,100 0100 //是八进制64 0b100//是二进制 4 0x100//是十六进制256 其他进制转十进制 parseInt(string, radix) //解析一个字符串并返回指定基数的十进制整
阅读全文
摘要:例子1:this指向 var name = "小明", age = 17; var a = { name: "小花", getInfo: function() { console.log(this.name, this.age) } } a.getInfo(); //小花 undefined thi
阅读全文
摘要:正则好久不用了,几乎已经忘记了。复习下。 普通字符串 1、[ABC] 匹配 [...] 中的所有字符 var str = "123abcgoolebeijing"; var patt1 = /[aeiou]/g; document.write(str.match(patt1)); //输出:a,o,
阅读全文
摘要:1、js 数组 for... in.. 中的 key 返回的是 string for(let key in store.userList){ if(store.userList[key].loginName==loginName){ this.slienceList.set(parseInt(key
阅读全文
摘要:场景描述: 学生端有个举手定时器,10ms执行一次倒计时动画,10s后通知服务器端,取消举手。 倒计时开始后,如果把学生页签切换,或者把浏览器最小化。此时倒计时会暂停,直到重新激活学生页面。 let num=1000; function settime(){ console.log(new Date
阅读全文
摘要:概述: lodash是一套JS工具库,内部封装了很多字符串、数组、对象等常见数据类型的处理函数。 lodash的所有函数都不会在原有的数据上进行操作,而是复制出一个新的数据而不改变原有数据。类似immutable.js的理念去处理。 官方中文地址 安装: 浏览器环境: <script src="lo
阅读全文
摘要:字符串 charAt() 返回在指定位置的字符。charCodeAt() 返回在指定的位置的字符的 Unicode 编码。concat() 连接字符串。indexOf() 检索字符串。match() 找到一个或多个正则表达式的匹配。replace() 替换与正则表达式匹配的子串。search() 检
阅读全文
摘要:为了准确for、foreach、map、filter、for in这些循环的效率,我写了下面的方法。 为了避免单次运行的随机性,让每个循环都跑100次,然后取平均值。得出的平均值跟单次结果存在误差(单次运行远大于平均后的值),但可以对比使用。 完整代码: <!DOCTYPE html> <html>
阅读全文
摘要:setTimeout基本用法 setTimeout(code,millisec) setTimeout函数接受两个参数,第一个参数code是将要推迟执行的函数名或者一段代码,第二个参数millisec是推迟执行的毫秒数。 例如: setTimeout('console.log(2)',100);//
阅读全文
摘要:一、JavaScript为什么设计为单线程? JavaScript语言的一大特点就是单线程,换言之就是同一个时间只能做一件事。 for(var j = 0; j < 5; j++) { console.log(j); } console.log('end'); 上面的代码,只有for循环执行完毕,才
阅读全文
摘要:什么是TypeScript TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6 的支持,它由 Microsoft 开发,代码开源于 GitHub 上。 它的第一个版本发布于 2012 年 10 月,经历了多次更新后,现在已成为前端社区中不可忽视的力量,不仅在
阅读全文
摘要:html/ajax var url = "img/01.png"; $.ajax({ type: 'GET', dataType: 'json', url: url, cache: false, xhr: function() { var xhr = new window.XMLHttpReques
阅读全文
摘要:var a = 2.255; var b = a.toFixed(2); console.log(b); 以上代码,按预期正常四舍五入得到结果应该是2.26,但实际返回值为2.25 js浮点数精度作为前端必踩坑,谁也逃不过,不过我们可以改写原型上的方法达到目的 Number.prototype.to
阅读全文
摘要:JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量, 一个函数参数是另一个函数,这种函数就称之为高阶函数。 一个最简单的高阶函数: function add(x, y, f) { return f(x) + f(y); } Map 定义和用法: map() 方法
阅读全文
摘要:在HTML表单中,可以上传文件的唯一控件就是 通常,上传的文件都由后台服务器处理,JavaScript可以在提交表单时对文件扩展名做检查,以便防止用户上传无效格式的文件: File API 由于JavaScript对用户上传的文件操作非常有限,尤其是无法读取文件内容,使得很多需要操作文件的网页不得不
阅读全文
摘要:在操作一个DOM节点前,我们需要通过各种方式先拿到这个DOM节点。最常用的方法是document.getElementById()和document.getElementsByTagName(),以及CSS选择器document.getElementsByClassName()。 document.
阅读全文
摘要:window innerWidth和innerHeight属性,可以获取浏览器窗口的内部宽度和高度。内部宽高是指除去菜单栏、工具栏、边框等占位元素后,用于显示网页的净宽。 还有一个outerWidth和outerHeight属性,可以获取浏览器窗口的整个宽高。 navigator navigator
阅读全文
摘要:ECAMScript3给Function的原型定义了两个方法,Function.prototype.call 和Function.prototype.apply。 区别仅在于传入的参数形式不同。 用法: 1、改变this指向。call和apply最常见的用途是改变函数内部的this指向。 2、借用其
阅读全文