JS高逼格代码---高大上的简写方式

在学习javascript的路上,偶尔会遇到那么几个看不懂的代码或者符号之类的就忍不住百度一下!搜嘎~ 原来如此!也许这就是装逼的一种效果吧!但是作为程序员也不想让别人一眼就看出你的代码!所以就有那么一批人开始了装逼之旅,但是能写出高逼格代码的人绝对理解的比看不懂的要深刻~ 侬晓得吧!

推荐一下javascript装逼指南 这本书 很有益处哦!!!

下面列出一些装逼技巧 供像我这样菜鸟级的学生看一下:

技巧一:javascript高逼格之取整

也许你会想到Math的方法Math.ceil() 以及Math.floor()

但是你也许在别的代码中看到过这么两种符号 ~~ 和 |0

他们当然也是取整的了

没有这两样东西怎么能装的彻底嘞

15.96|0
15

-15.96|0
-15

~~15.96
15

~~-15.96
15

特别注意的一点就是这两种方式是将小数点后面的直接砍掉的当取负数的时候与Math.floor(-15.96)有所不同

~~-15.96
-15

Math.floor(-15.96)
-16

下面多列举几个让大家明白

~~true
1

~~false
0

~~"asdsadasd"
0

~~"43534"
43534

~~undefined
0

~~null
0

技巧二:javascript高逼格之匿名函数

一般情况下的匿名函数是这样的

(function(){})();

但是还有其他的写法

+function(){}();
NaN

-function(){}();
NaN

+(function(){})();
NaN

-(function(){})();
NaN

!function(){}();
true

~function(){}();
-1

void function(){}();
undefined

当然,这样的写法,没有什么区别,纯粹看装逼程度。

这些可能只是一少部分,可能还有很多。我只是举例说明一下

我们知道这种是闭包的一种形式,

并且在编程中运算符(+ - ~ ! 优先级相对其他的代码程序较高)

所以闭包前面加个运算符是木有关系的只是写法不同

技巧三:javascript高逼格之undefined

从来不需要声明一个变量的值是undefined,因为JavaScript会自动把一个未赋值的变量置为undefined。所有如果你在代码里这么写,会被鄙视的:

var a = undefined;鄙视你
undefined

正常情况下:

 var a ;
undefined
var a = void(0)
undefined

顺便说下void

void在JavaScript中是一个操作符,对传入的操作不执行并且返回undefined。void后面可以跟()来用,例如 void(0),看起来是不是很熟悉?没错,在HTML里阻止带href的默认点击操作时,都喜欢把href写成javascript:void(0),实际上也是依靠void操作不执行的意思。

技巧四:javascript高逼格之|| 和&&

||和&&是用来替换if else的

当你的代码中有很多else if 这样的条件逻辑判断,那么代码相当可怕

建议:先用if else 写 然后用 || 和 && 给代码瘦身

if(a === 1){
    a = 0;
}else if(a === 5){
    a = 5;
}else{
     a = 2;
}

如上代码 利用||和&&怎么写呢

((a===1)&&(a=0,true))||((a===5)&&(a=5,true))||(a=2)


var a = 1;
((a===1)&&(a=0,true))||((a===5)&&(a=5,true))||(a=2)
true

a
0            //当a=1的时候,设置a=0

((a===1)&&(a=0,true))||((a===5)&&(a=5,true))||(a=2)
true

a
2            //当a=0的时候,设置a=2

a=5;
5

((a===1)&&(a=0,true))||((a===5)&&(a=5,true))||(a=2)
true

a
5          //当a=5的时候,设置a=5

技巧六:javascript高逼格之Function构造函数

很多JavaScript教程都告诉我们,不要直接用内置对象的构造函数来创建基本变量,例如var arr = new Array(2); 的写法就应该用var arr = [1, 2];的写法来取代。

但是,Function构造函数(注意是大写的Function)有点特别。Function构造函数接受的参数中,第一个是要传入的参数名,第二个是函数内的代码(用字符串来表示)。

var f = new Function('a', 'alert(a)');
f('gudaochuan'); // 将会弹出窗口显示gudaochuan

这种方式可以根据传入字符串内容来创建一个函数 是不是高大上?!

最后给大家提供几种小的高逼格代码经验

!! “!”是取反操作,两个“!”自然是负负得正了。还是原来的值?其实他还有转化成boolean类型的作用

var b = 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,471评论 25 708
  • 七月的天,艳阳高照,再加上有孕在身,妈妈每天都燥热难忍,终于在将近孕39周的时候因为急性肠胃炎结束工作开始休假咯…...
    一米阳光的爱阅读 233评论 0 0
  • 每个人心里都应该有个结。这个结,意味着曾经的痛苦与无奈。我的便是我期待又害怕的爱情。 今天早上,C先生为了哄我起床...
    曾曾的麻麻阅读 170评论 0 0
  • 人生有三把钥匙:接受 改变 离开。不能接受那就改变, 不能改变,那就离开。 乐观的人只顾着笑,而忘了怨;悲观的人只...
    每个人的孟母堂阅读 439评论 0 0
  • 5月21日,一个美好的日子,他们说是我爱你,谐音确是如此,对我来说,它也的确是一个美好而舒服的日子,原因倒不是爱情...
    安小裙阅读 512评论 4 1