摘要:
熟悉 C 或者 C++ 的同学一定对位操作符不陌生。位操作符最主要的应用大概就是作为标志位与掩码。这是一种节省存储空间的高明手段,在曾经内存的大小以 KB 为单位计算时,每多一个变量就是一份额外的开销。而使用位操作符的掩码则在很大程度上缓解了这个问题: #define LOG_ERRORS 1 // 阅读全文
摘要:
function Foo() {...}; let f1 = new Foo(); 我们需要牢记两点:①__proto__和constructor属性是对象所独有的;② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性。 __p 阅读全文
摘要:
var a={ i:1, //valueOf: toString:function(){ if(this.i 1){ this.i++; return 1 }else{ return 12 } } } if(a==1&&a==12){ console.log(123) } valueOf()方法和t 阅读全文
摘要:
//5、jsonp封装 function jsonpPakeage(obj) { //写入url地址中的函数名称,动态创建 var callbackName = "fn"+Math.random().toString().split("\.")[1]; //创建一个script标签 var scri 阅读全文
摘要:
//方法一: var obj = { a:1, b:2, c:3 }; obj[Symbol.iterator] = function(){ var keys = Object.keys(this); var count = 0; return { next(){ if(count<keys.len 阅读全文
摘要:
let promisify = (fn, receiver) => { return (...args) => { return new Promise((resolve, reject) => { fn.apply(receiver, [...args, (err, res) => { retur 阅读全文
摘要:
var event = { items: {}, on: function (type, fn) { if (!this.items[type]) { this.items[type] = [] } this.items[type].push(fn) }, emit: function (type) 阅读全文
摘要:
快排算法: let quickSort = function (arr) { if (arr.length < 2) return arr let midValue = arr.splice(0, 1), left = [], right = [] arr.forEach(el => { el > 阅读全文
摘要:
2的幂——即数字按位展开只有一位为1,所以 num&(num - 1) ==0; return (n>0)&&((n&(n-1))==0) 4的幂——相较于2的幂而言对二进制位要求更高,不仅要求数字按位展开只有一位为1,且1的后面必须有偶数个0,即…00000100,…00010000,…01000 阅读全文
摘要:
原理:利用ArrayBuffer、Blob和FormData进行图片上传 阅读全文