你感觉自己是JSer?来看看下面的测试……是男人就挨个琢磨,不许一顿滚动条!

  1. 1 && 3

    答案:3

    布尔值在"&&"运算时候,如果左为true时,总是返回右边,反之则直接返回左边

  2. 1 && "foo" || 0

    答案:"foo"

    布尔值在"||"运算时候,如果左为false时,总是返回右边,反之则直接返回左边

  3. 1 || "foo" && 0

    答案:1

    结合第1题和第2题

  4. (1,2,3)

    答案:3

    ","运算,直接输出最后一个

  5. x = {shift:[].shift};
    x.shift();
    x.length;

    答案:0

    这个我也没看懂...望同仁指点...

  6. {foo:1}[0]

    答案:underfined

    {foo:1}中无key为“0”的属性

  7. [true, false][+true, +false]

    答案:true

    [+true, +false]为[1,0],整体[true, false][1,0]中[1,0]可看做","运算,所以整体简化为[true, false][0]

  8. ++'52'.split('')[0]

    答案:6

    '52'.split('')为["5", "2"],++["5", "2"][0]为6

  9. a: b: c: d: e: f: g: 1, 2, 3, 4, 5;

    答案:语法错误

    控制台内返回5是因为eval(a: b: c: d: e: f: g: 1, 2, 3, 4, 5)原因

  10. {a: 1, b: 2}[["b"]]

    答案:2

    [["b"]]转化为对象中key=“b”而输出

  11. "b" + 45

    答案:"b45"

    隐式转换

  12. {a:{b:2}}

    答案:对象

    返回含有属性a,且a为一个属性b为2的对象

  13. (function(){}())

    答案:undefined

    执行空函数返回一个未定义的值

  14. [1,2,3,4,5][0..toString.length]

    答案:2

    [0..toString.length]相当于(0).toString.length

  15. ({} + 'b' > {} + 'a')

    答案:true

    相当于比较字符串"[object Object]b"和"[object Object]a"

  16. Number.prototype.x = function(){ return this === 123; };
    (123).x();

    答案:false

    严格测试this为对象,123为number

  17. Array(2).join()

    答案:","

    两位的空数组

  18. vars: var vars = vars;

    答案:undefined

  19. { foo = 123 }

    答案:123

    返回块中计算的结果

  20. x = 1; (function(){return x; var x = 2;}())

    答案:undefined

    没有变量接收自执行函数返回值

  21. delete [].length;

    答案:false

    delete只有在删除对象属性时候会返回true

  22. RegExp.prototype.toString = function() {return this.source};/3/-/2/;

    答案:1

    扩展方法相当于返回/../中的内容

  23. {break;4;}

    答案:语法错误

    break只能存在于循环中

  24. 'foo' == new function(){ return String('foo'); };

    答案:false

    "foo"为字符串,new function为对象

  25. 'foo'.split('') + []

    答案:"f,o,o"

    自己试下 [1,2] + [3,4]

猛击这里看答案

PS:以上问题来自一篇老外的文章,答案为我的翻译+理解,若有错误,请有节操的高端人士劈头盖脸的指正……)

转载于:https://www.cnblogs.com/ccto/archive/2013/04/11/3013525.html

【你敢说你懂JS吗】——JS测试相关推荐

  1. js map遍历 修改对象里面的值_求职季之你必须要懂的原生JS(上)

    点击上方"IT平头哥联盟",选择"置顶或者星标" 一起进步- 互联网寒冬之际,各大公司都缩减了HC,甚至是采取了"裁员"措施,在这样的大环境 ...

  2. 求职季之你必须要懂的原生JS(中)

    点击上方"IT平头哥联盟",选择"置顶或者星标" 一起进步- 互联网寒冬之际,各大公司都缩减了HC,甚至是采取了"裁员"措施,在这样的大环境 ...

  3. 【面试篇】寒冬求职季之你必须要懂的原生JS(中)

    互联网寒冬之际,各大公司都缩减了HC,甚至是采取了"裁员"措施,在这样的大环境之下,想要获得一份更好的工作,必然需要付出更多的努力. 一年前,也许你搞清楚闭包,this,原型链,就 ...

  4. JS 打印 data数据_寒冬求职季之你必须要懂的原生JS(中)

    本文原载于SegmentFault专栏"前端进阶" 作者:前端小姐姐 整理编辑:SegmentFault 互联网寒冬之际,各大公司都缩减了HC,甚至是采取了"裁员&quo ...

  5. 一统江湖的大前端(2)—— Mock.js + Node.js 如何与后端潇洒分手

    <一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...

  6. node.js(node.js+mongoose小案例)_实现简单的注册登录退出

    一.前言 通过node.js基本知识对node.js基本知识的一个简单应用 1.注册 2.登录 3.退出 二.基本内容 1.项目结构搭建如图所示 2.这个小案列中用到了art-template子模板以 ...

  7. js 判断js,css是否引入,确保不重复引入

    js 判断js,css是否引入,确保不重复引入 (2009-10-31 21:33:44) 转载▼ 标签: 杂谈 分类: js 基本原理: function loadjscssfile(filenam ...

  8. 蓝鸥原生JS:js的历史及JavaScript的优缺点

    蓝鸥原生JS:js的历史及JavaScript的优缺点 蓝鸥零基础学习HTML5-html+css基础 http://11824614.blog.51cto.com/11814614/1852769 ...

  9. JS 判断js是加载完成!

    我们可以对加载的 JS 对象使用 onload 来判断(js.onload),此方法 Firefox2.Firefox3.Safari3.1+.Opera9.6+ 浏览器都能很好的支持,但 IE6.I ...

  10. js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable

    js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable 参考文章: (1)js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable ...

最新文章

  1. 2021年深度学习哪些方向比较有研究潜力?
  2. [原创]软件产品的质量
  3. oracle中sql命令分为几类,常用的SQL命令和ORACLE命令对比
  4. java中 d_Java 中的 syncronized 你真的用对了吗
  5. 归并排序的时间复杂度为什么为nlogn
  6. 13.地区设置(Locale Settings)
  7. iOS 动画篇 - pop动画库
  8. 嵌入式知识图谱WiKi(嵌入式开发/研发入门教程和路线图)
  9. 别对“智能写作”太过情感依赖
  10. 磁力链接搜索引擎源码下载
  11. 数字信号处理之均值、方差、均方值、均方差计算和它们的物理意义
  12. java循环抓取网页超链接_提取网页中的超链接
  13. 【手游脚本】触动精灵制作脚本
  14. 计算机毕业设计JAVA家庭健康预警系统mybatis+源码+调试部署+系统+数据库+lw
  15. jpg图片损坏怎么修复?可以试试这个方法
  16. 历届上海国际电影节获奖名单
  17. 不用再期待别人的认可
  18. 达梦数据库在linux下的安装步骤
  19. CloudComparePCL AlphaShape算法曲面重建
  20. EP10W2A02N05方向阀导压操作插装阀

热门文章

  1. 依赖反转原则(DIP)
  2. clickhouse SummingMergeTree表引擎
  3. Spark DataFrame入门详解
  4. QT开发_弹出窗口禁用父窗口并移动到父窗口中心位置
  5. OOP_面向对象程序设计概述
  6. 深入了解Oracle数据字典升级脚本catupgrd.sql调用过程
  7. 下拉刷新和上拉加载更多
  8. 微信无法连接到服务器怎么诊断网络【微信高级教程3】
  9. Visual Studio 要求导入 pfx 密钥以及导入后依然要求导入的解决办法
  10. RMDB与hadoop的实时整合