【你敢说你懂JS吗】——JS测试
你感觉自己是JSer?来看看下面的测试……是男人就挨个琢磨,不许一顿滚动条!
1 && 3
答案:3
布尔值在"&&"运算时候,如果左为true时,总是返回右边,反之则直接返回左边
1 && "foo" || 0
答案:"foo"
布尔值在"||"运算时候,如果左为false时,总是返回右边,反之则直接返回左边
1 || "foo" && 0
答案:1
结合第1题和第2题
(1,2,3)
答案:3
","运算,直接输出最后一个
x = {shift:[].shift}; x.shift(); x.length;
答案:0
这个我也没看懂...望同仁指点...
{foo:1}[0]
答案:underfined
{foo:1}中无key为“0”的属性
[true, false][+true, +false]
答案:true
[+true, +false]为[1,0],整体[true, false][1,0]中[1,0]可看做","运算,所以整体简化为[true, false][0]
++'52'.split('')[0]
答案:6
'52'.split('')为["5", "2"],++["5", "2"][0]为6
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)原因
{a: 1, b: 2}[["b"]]
答案:2
[["b"]]转化为对象中key=“b”而输出
"b" + 45
答案:"b45"
隐式转换
{a:{b:2}}
答案:对象
返回含有属性a,且a为一个属性b为2的对象
(function(){}())
答案:undefined
执行空函数返回一个未定义的值
[1,2,3,4,5][0..toString.length]
答案:2
[0..toString.length]相当于(0).toString.length
({} + 'b' > {} + 'a')
答案:true
相当于比较字符串"[object Object]b"和"[object Object]a"
Number.prototype.x = function(){ return this === 123; }; (123).x();
答案:false
严格测试this为对象,123为number
Array(2).join()
答案:","
两位的空数组
vars: var vars = vars;
答案:undefined
{ foo = 123 }
答案:123
返回块中计算的结果
x = 1; (function(){return x; var x = 2;}())
答案:undefined
没有变量接收自执行函数返回值
delete [].length;
答案:false
delete只有在删除对象属性时候会返回true
RegExp.prototype.toString = function() {return this.source};/3/-/2/;
答案:1
扩展方法相当于返回/../中的内容
{break;4;}
答案:语法错误
break只能存在于循环中
'foo' == new function(){ return String('foo'); };
答案:false
"foo"为字符串,new function为对象
'foo'.split('') + []
答案:"f,o,o"
自己试下 [1,2] + [3,4]
猛击这里看答案
(PS:以上问题来自一篇老外的文章,答案为我的翻译+理解,若有错误,请有节操的高端人士劈头盖脸的指正……)
转载于:https://www.cnblogs.com/ccto/archive/2013/04/11/3013525.html
【你敢说你懂JS吗】——JS测试相关推荐
- js map遍历 修改对象里面的值_求职季之你必须要懂的原生JS(上)
点击上方"IT平头哥联盟",选择"置顶或者星标" 一起进步- 互联网寒冬之际,各大公司都缩减了HC,甚至是采取了"裁员"措施,在这样的大环境 ...
- 求职季之你必须要懂的原生JS(中)
点击上方"IT平头哥联盟",选择"置顶或者星标" 一起进步- 互联网寒冬之际,各大公司都缩减了HC,甚至是采取了"裁员"措施,在这样的大环境 ...
- 【面试篇】寒冬求职季之你必须要懂的原生JS(中)
互联网寒冬之际,各大公司都缩减了HC,甚至是采取了"裁员"措施,在这样的大环境之下,想要获得一份更好的工作,必然需要付出更多的努力. 一年前,也许你搞清楚闭包,this,原型链,就 ...
- JS 打印 data数据_寒冬求职季之你必须要懂的原生JS(中)
本文原载于SegmentFault专栏"前端进阶" 作者:前端小姐姐 整理编辑:SegmentFault 互联网寒冬之际,各大公司都缩减了HC,甚至是采取了"裁员&quo ...
- 一统江湖的大前端(2)—— Mock.js + Node.js 如何与后端潇洒分手
<一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...
- node.js(node.js+mongoose小案例)_实现简单的注册登录退出
一.前言 通过node.js基本知识对node.js基本知识的一个简单应用 1.注册 2.登录 3.退出 二.基本内容 1.项目结构搭建如图所示 2.这个小案列中用到了art-template子模板以 ...
- js 判断js,css是否引入,确保不重复引入
js 判断js,css是否引入,确保不重复引入 (2009-10-31 21:33:44) 转载▼ 标签: 杂谈 分类: js 基本原理: function loadjscssfile(filenam ...
- 蓝鸥原生JS:js的历史及JavaScript的优缺点
蓝鸥原生JS:js的历史及JavaScript的优缺点 蓝鸥零基础学习HTML5-html+css基础 http://11824614.blog.51cto.com/11814614/1852769 ...
- JS 判断js是加载完成!
我们可以对加载的 JS 对象使用 onload 来判断(js.onload),此方法 Firefox2.Firefox3.Safari3.1+.Opera9.6+ 浏览器都能很好的支持,但 IE6.I ...
- js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable
js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable 参考文章: (1)js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable ...
最新文章
- 2021年深度学习哪些方向比较有研究潜力?
- [原创]软件产品的质量
- oracle中sql命令分为几类,常用的SQL命令和ORACLE命令对比
- java中 d_Java 中的 syncronized 你真的用对了吗
- 归并排序的时间复杂度为什么为nlogn
- 13.地区设置(Locale Settings)
- iOS 动画篇 - pop动画库
- 嵌入式知识图谱WiKi(嵌入式开发/研发入门教程和路线图)
- 别对“智能写作”太过情感依赖
- 磁力链接搜索引擎源码下载
- 数字信号处理之均值、方差、均方值、均方差计算和它们的物理意义
- java循环抓取网页超链接_提取网页中的超链接
- 【手游脚本】触动精灵制作脚本
- 计算机毕业设计JAVA家庭健康预警系统mybatis+源码+调试部署+系统+数据库+lw
- jpg图片损坏怎么修复?可以试试这个方法
- 历届上海国际电影节获奖名单
- 不用再期待别人的认可
- 达梦数据库在linux下的安装步骤
- CloudComparePCL AlphaShape算法曲面重建
- EP10W2A02N05方向阀导压操作插装阀