text: (window.webpackJsonp=window.webpackJsonp||[]).push([[32],{352:function(n,t,a){},439:function(n,t,a){"use strict";a(352)},550:function(n,t,a){"use strict";a.r(t);a(439);var r=a(25),i=Object(r.a)({},(function(){var n=this,t=n.$createElement,a=n._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[a("h1",{attrs:{id:"_5、一道程序题-小姐姐在我简历背面写出来的"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_5、一道程序题-小姐姐在我简历背面写出来的"}},[n._v("#")]),n._v(" "),a("H2Icon"),n._v("5、一道程序题，小姐姐在我简历背面写出来的")],1),n._v(" "),a("p",[n._v("var a=?;\nif(a==1&&a==2&&a==3){\nconsole.log('小样儿！');\n}")]),n._v(" "),a("p",[n._v("问：当a等于什么的时候，if条件成立，并打印？")]),n._v(" "),a("p",[n._v("答案\nvar a={\nnum:1,\ntoString:function(){\nreturn a.num++;\n}\n}")]),n._v(" "),a("p",[n._v("a 的第一个值必须是 a==1 为真才会继续向右判断 a==2，由此可以推断出 a 的值或者说是转换类型后的值是可以自增长的，JavaScript中当遇到不同类型的值进行比较时，会根据类型转换规则试图将它们转为同一个类型再比较。")]),n._v(" "),a("p",[n._v("或者\nvar a=[1,2,3,4];\na.join=a.shift;\n得JavaScript中一切皆对象，那么Array也是对象的后代类，他也继承了Obj的valueOf()和toString()，而且重写了toString()方法。全部抬起小脑袋，请看这句话  a.join=a.shift，\n他的意思是当数组调用toString()方法而间接调用join方法时，shift()方法替代了join方法，这样就相当于每次从a数组中截取第一个元素返回。所以当判断a==1时其实是从原数组截取了第一个元素的值返回后再判断，这样原数组就变成了[2,3,4]了，接着a==2判断执行类似操作以此类推。")]),n._v(" "),a("RightMenu")],1)}),[],!1,null,null,null);t.default=i.exports}}]);