javascript之奇淫技巧
最近准备面试,复习一下javascript,整理了一些javascript的奇淫技巧~
//为兼容ie的模拟Object.keys()
Object.showkeys = function(obj) {
    var a=[];
    for(a[a.length] in obj);
        return a;
}    
那么大家怎么模拟Object.keys()呢?是不是循环obj,再循环a数组赋值呢,反正一开始我就是这么想的,后来看到a[a.length]觉得蛮厉害的。
//mass Framework的合并对象,支持深拷贝的方法
function mix(target,source){
    var args=[].slice.call(arguments);
    var ride=typeof args[args.length-1]=='boolean'?args.pop():true;//判断深拷贝的布尔,一句话经典
...
}
一句话把是否是深拷贝的布尔值表示出来,简洁,高效,记录之。
// jq的makeAarry的复制数组
var i=array.length;
while(i)
ret[--i]=array[i]
jquery的复制数组部分代码,蛮不错的。
//判断函数可以用return返回,其他情况下还可以减少对象的实例;
var toAarry =function(){
  return isIE()?    function(a,i,j,res){...}//以后每次执行都不用判断了,直接取toAarry
  : function(a,i,j){...}
这个方法是很多框架,前端都在用的,function,object,return的时候判断一下,比如第一次判断了你浏览器,以后就不用再判断了,直接用返回的东西。js设计模式很多也都用了这个模式,很高效的说。
// fn.call(window)的另一种写法
(0,fn)()
来自babel转码中的应用
持续更新~
javascript之奇淫技巧的更多相关文章
- JavaScript 系列--JavaScript一些奇淫技巧的实现方法(二)数字格式化 1234567890转1,234,567,890;argruments 对象(类数组)转换成数组
		
一.前言 之前写了一篇文章:JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳 https://www.mwcxs.top/page/746 ...
 - JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳
		
一.前言 有些东西很好用,但是你未必知道:有些东西你可能用过,但是你未必知道原理.实现一个目的有多种途径,俗话说,条条大路通罗马.发散一下大家的思维以及拓展一下知识面. 二.实现一个简短的sleep函 ...
 - JavaScript 系列--JavaScript一些奇淫技巧的实现方法(三)数字取整,数组求和
		
一.前言 简短的sleep函数,获取时间戳:https://www.mwcxs.top/page/746.html 数字格式化 1234567890 --> 1,234,567,890:argr ...
 - 12个实用的 Javascript 奇淫技巧
		
这里分享12个实用的 Javascript 奇淫技巧.JavaScript自1995年诞生以来已过去了16个年头,如今全世界无数的网页在依靠她完成各种关键任务,JavaScript曾在Tiobe发布的 ...
 - 优化DP的奇淫技巧
		
DP是搞OI不可不学的算法.一些丧心病狂的出题人不满足于裸的DP,一定要加上优化才能A掉. 故下面记录一些优化DP的奇淫技巧. OJ 1326 裸的状态方程很好推. f[i]=max(f[j]+sum ...
 - NGINX的奇淫技巧 —— 5. NGINX实现金盾防火墙的功能(防CC)
		
NGINX的奇淫技巧 —— 5. NGINX实现金盾防火墙的功能(防CC) ARGUS 1月13日 发布 推荐 0 推荐 收藏 2 收藏,1.1k 浏览 文章整理中...... 实现思路 当服务器接收 ...
 - NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识
		
NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识 ARGUS 1月13日 发布 推荐 0 推荐 收藏 6 收藏,707 浏览 大家或许会有这种奇葩的需求...要是同一台主机上, 需要针对不 ...
 - NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1)
		
NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1) ARGUS 1月13日 发布 推荐 0 推荐 收藏 3 收藏,839 浏览 nginx的if支持=.!= 逻辑比较, 但不支持if中 & ...
 - Zepto源码分析(二)奇淫技巧总结
		
Zepto源码分析(一)核心代码分析 Zepto源码分析(二)奇淫技巧总结 目录 * 前言 * 短路操作符 * 参数重载(参数个数重载) * 参数重载(参数类型重载) * CSS操作 * 获取属性值的 ...
 
随机推荐
- react初入门
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - Lumen与laravel的区别
			
Lumen与laravel的区别 困惑 一直都无法很友好的理解Lumen与Laravel之间的区别,只知道他们是非常相似的两个php框架,使用方法什么的都差不多. 为什么要解惑 最近接手了公司的一 ...
 - Angular MVC
			
<!DOCTYPE html><html ng-app="myApp"><head lang="en"> <meta ...
 - 关于解决Missing Number之类的算法问题
			
停止刷题已经三周了,有些想念.最近总算完成了公司代码的重构,于是要继续开始学习算法. 先来看leetcode上面第268题: Given an array containing n distinct ...
 - 关于浏览器兼容问题——还有移动端meta问题
			
<!DOCTYPE html><!--[if lt IE 7]> <html dir="ltr" lang="en-US" cla ...
 - APP测试重点(转载)
			
1.安装卸载测试: app在不同的操作系统(安卓和ios),不同的版本,不同的机型上是否都能安装成功: 在安装过程中,突然断网或网络不好,是否给出有好的提示,网络恢复之后是否能正常下载: 在安装过 ...
 - 刪除nodejs
			
https://www.cnblogs.com/fighxp/p/7410235.html https://www.cnblogs.com/fighxp/p/7411608.html
 - JQuery Datatable用法
			
原文出处:http://sgyyz.blog.51cto.com/5069360/1408251 目标: 使用jQuery Datatable构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求 ...
 - BZOJ2275[Coci2010]HRPA——斐波那契博弈
			
题目描述 N个石子,A和B轮流取,A先.每个人每次最少取一个,最多不超过上一个人的个数的2倍.取到最后一个石子的人胜出,如果A要有必胜策略,第一次他至少要取多少个. 输入 第一行给出数字N,N< ...
 - Codeforces Round #445 Div. 1
			
A:每次看是否有能走回去的房间,显然最多只会存在一个,如果有走过去即可,否则开辟新房间并记录访问时间. #include<iostream> #include<cstdio> ...