您是否有足够的兴趣再一次认识JavaScript?

四年前,悉尼程序员Dmitry Baranovskiy在他的个人博客更新了这样一篇博文:《So, you think you know JavaScript?》 不久便在国内引发围观,俨然成了一个老生常谈的话题。

准备好了吗?如下几段代码,是在其基础上新增了几道,相信不少JSER都很眼熟。那么对于未曾见过的同学,它会帮助你对javascript核心有更深层的了解,尽管它们都偏离于实际应用之外。试着去分析他们的最终结果,在这之前切记不要用调试工具,否则就丧失了其意义。

A:不要以为它是易语言

var 弹框 = alert, 函数 = Function;
function 贤心(行为){
    弹框(‘此人正在‘+ 行为);
};
函数(‘贤心("发呆")‘)(); 

B:

if (!("a" in window)) {
    var a = 1;
}
alert(a)

C:

var a = 1,
    b = function a(x) {
        x && a(--x);
    };
alert(a);

D:

function a(x) {
    return x * 2;
}
var a;
alert(a);

E:

function b(x, y, a) {
    arguments[2] = 10;
    alert(a);
}
b(1, 2, 3);

F:

function a() {
    alert(this);
}
a.call(null)

G:

console.log("Why am I a " + typeof + "");

H:

var \u1000 = {
  \u1001: ‘foo‘,
  \u1011: ‘bar‘
};
console.log( \u1000.\u1001 );
console.log( \u1000.\u1011 );

I:

console.log(++[[]][+[]]);

J:

var fn = function(){
    return false;
};
(function(){
    console.log(fn());
    if(false){
         function fn(){
            return true;
        }
    }
})();

您是否有足够的兴趣再一次认识JavaScript?,布布扣,bubuko.com

时间: 2024-10-29 19:07:32

您是否有足够的兴趣再一次认识JavaScript?的相关文章

再看JavaScript线程

继上篇讨论了一些关于JavaScript线程的知识,我们不妨回过头再看看,是不是JavaScript就不能多线程呢?看下面一段很简单的代码(演示用,没考虑兼容问题): 代码判断一: <div id="div"> click me </div> <script> var div=document.getElementById("div"); div.addEventListener('click',function(){ alert

[转]python pickle模块

持久性就是指保持对象,甚至在多次执行同一程序之间也保持对象.通过本文,您会对 Python对象的各种持久性机制(从关系数据库到 Python 的 pickle以及其它机制)有一个总体认识.另外,还会让您更深一步地了解Python 的对象序列化能力. 什么是持久性? 持久性的基本思想很简单.假定有一个 Python 程序,它可能是一个管理日常待办事项的程序,您希望在多次执行这个程序之间可以保存应用程序对象(待办事项).换句话说,您希望将对象存储在磁盘上,便于以后检索.这就是持久性.要达到这个目的,

写给实验室的下一代

看到这篇文章的学弟(学妹)你好,我写这些文字时是软件杯开赛还有1个月.8月22是我软件生涯中一个比较特殊的日子.同时也是你即将正式加入我们中的日子,对你来说也一定不同寻常.很遗憾在这个特殊的日子我可能不能与你面对面的交流,然而,曾经的经历让我明白你现在一定很迷惘不知所措.这就是我早早的写下这些文字的原因. 这些文字都是我两年以来的实际感受经验以及周围人的感受经验.这不是鸡汤,我不希望看完这些文字后你是热血沸腾的,而是静静的思考一下,坦然无悔的面对自己即将选择的道路. 1.保护好你的兴趣. 据我观

IOS开发常用设计模式

IOS开发常用设计模式 说起设计模式,感觉自己把握不了笔头,所以单拿出iOS开发中的几种常用设计模式谈一下. 单例模式(Singleton) 概念:整个应用或系统只能有该类的一个实例 在iOS开发我们经常碰到只需要某类一个实例的情况,最常见的莫过于对硬件参数的访问类,比如UIAccelerometer.这个类可以帮助我们获得硬件在各个方向轴上的加速度,但是我们仅仅需要它的一个实例就够了,再多,只会浪费内存. 所以苹果提供了一个UIAccelerometer的实例化方法+sharedAcceler

快乐死我了,怎么样成为一个全栈程序员(Full Stack Developer) good

受苏格拉底大神的启迪,我也来谈谈全栈.禅师:成为全栈工程师,这个问题等于如何成为全才,有可能吗码农:有可能,不过可能性比较低,因为达芬奇这类人毕竟是百年一遇的奇才.不过,因为我热爱这个行业,也有一定天赋,所以只做好软件全栈的话我想还是可能的禅师:你玩过三国志这个游戏吗码农:我还开发过禅师:你喜欢什么样的武将,诸葛亮怎么样?码农:不错,虽然他武力只有20,不过智力有100,不过游戏出战不是单打独斗,我可以给他搭配武力100,智力20的吕布,在战场上所向披靡禅师:对于一个武力65,智力65的武将,你

写给新手的WebAPI实践

此篇是写给新手的Demo,用于参考和借鉴,用于发散思路.老鸟可以忽略了. 自己经常有这种情况,遇到一个新东西或难题,在了解和解决之前总是说"等搞定了一定要写篇文章记录下来",但是当掌握了之后,就感觉好简单呀不值得写下来了.其实这篇也一样,决定写下来是想在春节前最后再干一件正经事儿! 目录: 请求响应的设计 请求的Content-Type和模型绑定 自定义ApiResult和ApiControllerBase 权限验证 模型生成 文档生成 一.请求响应的设计 RESTFul风格响亮很久了

帕金森定律(Parkinson&#39;s Law)

帕金森定律(Parkinson's Law)是官僚主义或官僚主义现象的一种别称, 是由英国历史学家.政治学家西里尔·诺斯古德·帕金森(Cyril Northcote Parkinson)通过长期调查研究并于1958年出版了<帕金森定律>(Parkinson's Law)一书,其主要内容可分为9个方面来禅述: 1.冗员增加原理:官员数量增加与工作量并无关系,而是由两个源动因造成的.每一个官员都希望增加部属而不是对手(如“投票”):官员们彼此为对方制造工作(如行政审批,工商.税务.审计.公安,既得

一良心操盘手:我们是这样玩死散户的! z

做庄必须考虑很多问题: 第一是证监会的监控.操控股票不能让他们抓住把柄,这时候就要考虑多户头,或者拉几个私募大户集体作战. 第二要考虑产业资本的问题.如果我们拉的时候,他们看到利润可观,结果大量抛出筹码,那我们就惨了,必然会亏本出局,在做之前就必需先和他们沟通好,而且还要了解他们手上的流通盘是多少,抛售意向如何,这就是大小非问题. 第三个要考虑的是老庄.如果这个股没有被老庄放弃,那我是尽量不会去碰的,因为一但被老庄反做,那你死得就惨了,就像中国联通[4.98% 资金 研报]套游资一样,那死得是非

要以“我”为中心看待求职方向

[来信] 老师,您好! 我是一名即将进入大四的学生,我所在的学校是一所很普通的二本学校,而且我自己的专业是电子信息工程,学校普通,所以我们这专业学的很广但都不精,学了汇编语言,C语言,FPGA,电路,信号与系统之类,大一大二可以说浑浑噩噩的渡过,没挂过科,也没学到什么,到了大三下半学期的时候我知道这样下去不行了,所以我就自己去图书馆借书看,看了C++PRIMER PLUS,往C/C++这方面学,期间又看了点linux的书,就是那本<鸟哥的私房菜>,看了几百页发现命令是记了又忘,忘了又记,就放弃