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

我来吐槽

*

*

已有 22 条评论

  1. 前端速记 | 2BROEAR - 2B博客

    [...]笔记参考链接: HOE:JavaScript 之神妙之处、ECMAScript6 基础语法 | Gahotx’s blog、JavaScript 函数进阶 | Gahotx’s blog[...]

  2. 酢豚

    有点好奇工作的时候这样写会不会被开掉

    1. Hoe

      肯定免不了同事的一顿暴打😂

  3. 小持

    学到了

  4. 今日新闻头条

    文章不错交个朋友

  5. 夏目贵志

    Brendan Eich 老哥他说他讨厌这个他随便写出来应付的 JavaScript

    也有人吐槽说他10天写出来的 JavaScript 有人学了几年都学不会😂

  6. ppt课件

    学习了,不过js感觉好难哦

  7. 晴栀博客

    博客名称: 晴栀博客
    博客网址: https://www.xinyouqu.com
    博客头像: https://www.xinyouqu.com/usr/uploads/2019/11/1872875450.jpg
    博客价绍: [ 走在后端的路上,渐行渐远 ]

    已添加贵站友链!

    1. Hoe

      抱歉,暂时不交换友链了

  8. 芭比

    目前也在学习中