字节跳动2017面试题(2)

1、
类型转换

Boolean([]); //true
Number([]); //0
Number({}); // NaN
Number(false); //0

第一题

布尔类型是Boolean([]) //true

PS:在布尔类型里只有这几参数个返回false,其它都为true

  • Boolean(undefined) // false
  • Boolean(null) // false
  • Boolean(0) // false
  • Boolean(NaN) // false
  • Boolean('') // false
第二题,第三题

布尔类型与其它任何类型进行比较,布尔类型将会转换为number类型
Number([])返回0所以第二题为true
Number转换类型的参数如果为对象返回的就是NaN,
那么Number({})返回的就是NaN。
通过Object.prototype.toString.call({})来判断类型,0与NaN相比为false
所以

console.log(([])?true:fasle);// => console.log((true)?true:false);
console.log([]==false?true:false); // => console.log(0==0?true:false);
console.log(({}==false)?true:false); // => console.log((NaN==0)?true:false);

2、①行内元素有:

3、javascript中实现跨域的方式总结
  • 第一种方式:jsonp请求;jsonp的原理是利用

你可能感兴趣的:(字节跳动2017面试题(2))