JavaScript 之神妙之处

众多编程语言中,就数 JavaScript 花里胡哨,当然它是一门伟大的语言,这里没有贬义。

JavaScript 拥许多骚操作,往下看吧↓↓↓

一、Javascript 诞生记

1994年,网景公司 Netscape 发布了 Navigator 浏览器0.9版。这个版本的浏览器只能用来浏览,不具备交互能力。网景公司急需一种网页脚本语言,使得浏览器可以与网页互动,此时 JavaScript 应运而生。

JavaScript 是由34岁的系统程序员 Brendan Eich 编写的,他为了应付公司安排的任务,他只用10天时间就把 JavaScript 设计出来了。

Brendan Eich

🤣 由于设计时间太短,语言的一些细节考虑得不够严谨。

这不是本文重点一笔带过了,感兴趣的同学可以点击Javascript诞生记

二、JavaScript 的流行程度

JavaScript 仍然是目前流行度最高的编程语言,全球超过1200万开发人员都在使用 JavaScript

上图,2019年第四季度全球活跃的软件开发人员

JavaScript的流行程度

三、JavaScript 之神妙之处

0、使用左移运算符 << 计算2的次方

let number = 1 << 2;  // 2的2次方=4
let number = 1 << 10; // 2的10次方=1024

1、使用 & 判断奇偶性

// 偶数 & 1 = 0
// 奇数 & 1 = 1
console.log(5 & 1);  // 1
console.log(6 & 1) ; // 0

2、使用 ^ 来判断数字是否不相等

if(a != 123) {} // before
if(a ^ 123) {} // after

3、使用~ >> << >>> | 来取整

console.log(~~ 6.83) ;   // 6
console.log(6.83 >> 0);  // 6
console.log(6.83 << 0);  // 6
console.log(6.83 | 0);   // 6
// >>>不可对负数取整
console.log(6.83 >>> 0); // 6

4、使用 toString(16) 取随机字符串

Math.random().toString(16); // 0.489065d21add2
Math.random().toString(16).substring(2, 15); // 截取第2到第15位数 489065d21add2

5、使用 link() 创建链接

let html="<a href='"+url+"'>"+text+"</a>"; // before
let html=text.link(url);                   // after

"Hoe's Notes".link('www.hoehub.com');
// <a href="www.hoehub.com">Hoe's Notes</a>

6、使用 !+"v1" 快速判断 IE8 以下的浏览器

// 谷歌浏览器和IE9及以上
!+"\v1" // false
// IE8及以下
!+"\v1" // true

7、定时器的妙用

使用字符串做为 setIntervalsetTimeout 的第一个参数

setInterval(function(){console.log("z")},100); // before
setInterval('console.log("z")',100); // after

8、使用当前日期生成随机数

let i = 0 | Math.random() * 100; // before
let i = new Date % 100; // after

注意:不要在快速循环中使用,因为毫秒可能不会改变!

9、请勿轻易使用!

(!(~+[])+{})[--[~+""][+[]]*[~+[]]+~~!+[]]+({}+[])[[~!+[]]*~+[]]

本文参考

js

我来吐槽

*

*

已有 7 条评论

  1. MarkHoo

    javascript和python一样,都是短时间内实现的,但却很成功。

  2. 八字算命

    感谢博主分享,谢谢

  3. 阿Q博客

    Javascript是很奇妙的语言,每天学一点。

  4. 哈士奇社区

    可以可以学到了一波。

  5. 烈性果汁

    好久没来,感觉网站全翻新了似的😅

    1. Hoe

      欢迎回来😁