zaka在twitter发的回答Baranovskiy的So, you think you know JavaScript?,引起广泛的关注。那5道题目我猜测在国内确实能倒下一大片搞js开发的,一直以来感觉牛人不少,但也有为数不少的程序员缺乏脚踏实地的精神,缺乏钻研的精神,希望能让一部分人有所警醒。摘抄原文如下:

Quick test for real understanding of JavaScript core beyond closures and scopes. Here five small scripts. Try to answer what will be alerted in each case without running them in the console. Then you could create a test file and easily check your answers. Ready?

if (!("a" in window)) {var a = 1;}alert(a);
var a = 1,    b = function a(x) {        x && a(--x);    };alert(a);
function a(x) {return x * 2;}var a;alert(a);
function b(x, y, a) {    arguments[2] = 10;    alert(a);}b(1, 2, 3);
function a() {    alert(this);}a.call(null);

这次的问题不附答案,大家不要急着去搜,应该自己先想想。结果,然后运行代码对比结果,再自己想想为什么,想不明白再去网上。

转载于:https://www.cnblogs.com/nozer0/archive/2010/01/31/1660518.html

you think you know javascript相关推荐

  1. 【AJAX】JavaScript的面向对象

    Ajax中后端数据返回后需要前端通过JavaScript来实现动态数据更新的问题.所以,在Ajax中加深了一遍JavaScript面向对象的印象. 基础部分: JavaScript中创建对象并简单对象 ...

  2. 【JavaScript总结】JavaScript语法基础:JS高级语法

    作用域链: 1.JS中只有函数能够限定作用域的范围: 2.变量处理在制定的函数范围内,还有一个特殊的作用域,就是没有用var 声明的全局作用域 3.js中的作用域链是为了清晰的表示出所有变量的作用范围 ...

  3. 【JavaScript总结】JavaScript语法基础:DOM

    ->DOM的理解:文档对应dom树 ->有了DOM能做什么:DOM的操作 html文档做为DOM树模型,DOM树的节点就是对象.对象会触发事件来执行一些事件代码. C#中的事件是一个委托变 ...

  4. 【JavaScript总结】JavaScript语法基础:JS编码

    运算符 数学:+. -. *. / 逻辑:>. < .>= .<=. == . !=.&&.|| . === .!==(完全等于) 对象相关 new delet ...

  5. 【JavaScript总结】JavaScript语法基础:数据类型

    ------>数据类型有哪些? ->基本类型:数字类型,布尔类型,字符串类型 ->引用类型:对象类型,函数类型 ->空类型:null 和 undefined ->运算符: ...

  6. 【JavaScript总结】JavaScript发展与学习内容

    发展: 最初浏览器是为大学里浏览文档用,从地址栏输入文档地址,找到文档显示. 后来各种需求(购物网站,个人博客)出现,已有功能不能满足需求. 可人们依旧在努力满足这种需求,但实现后的效果很不尽人意. ...

  7. Python:模拟登录、点击和执行 JavaScript 语句案例

    案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...

  8. [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)

    课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...

  9. [JavaScript] JavaScript 数组挖掘,不只是讲数组哟

    课程来源:后盾人 数组引用类型分析 数组的定义 const array = new Array('hello', 'dust', 1, 2, 3, 4, 5) console.log(array) l ...

  10. linux下用js生成xml,js2xml:将javascript字符串转换为xml

    有时候爬数据遇到像下面这种,数据在script标签中以javascript形式存在. var totalReviewsValue = 32; var averageRating = 4.5; if(t ...

最新文章

  1. IEC61850笔记--IEC61850应用入门(二)
  2. python打包发布到手机_Python打包操作与在线发布
  3. 未来的信息安全管理人员应当具备哪些技能
  4. Leetcode 746. Min Cost Climbing Stairs
  5. 基于BP弱分类器用Adaboost的强分类器
  6. Android中关于dip和px以及转换的总结
  7. java操作日期的相关工具类,拿去即用
  8. 十字连接焊盘_你应该知道的焊盘基础知识
  9. 强烈谴责中国红十字会
  10. Spring 通知和顾问进行增强
  11. 高中信息技术——Flash动画制作刷题点整理(一)
  12. 遨博机器人展示_高交会:智能机器人走入大众生活
  13. 高效能人士的七个习惯
  14. pytorch tensor索引、切片、连接——Indexing, Slicing, Joining
  15. SWFUpload上传指南
  16. js中常见的Json解析
  17. 4周年——学而不思则罔,思而不学则殆
  18. operator*() 和 operator-()
  19. 64位Ubuntu系统兼容32位程序
  20. 32位和64位系统的区别及如何选择?

热门文章

  1. BZOJ5415:[NOI2018]归程(可持久化并查集,最短路)
  2. 陈一舟:在中国当企业家要有承受能力 失败了大家会看你笑话
  3. 样式处理——提取样式文件
  4. 【转】JavaScript事件顺序
  5. Dell服务器网络不通故障排除
  6. 那些年借“云”出海的日子
  7. 快捷技巧之一键查自己电脑所有打开的端口的具体操作
  8. 谷歌Analytics添加到您的SharePoint 2010网站的2种方法
  9. eclipse代码自动提示
  10. Loading class `com.mysql.jdbc.Driver'. This is deprecated警告处理