ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## Js的数据类型都有哪些? * 基本数据类型:String、Boolean、Number、undefined等 * 引用数据类型:Object(Array、Date、Function)等 <br> ## 如何判断是否是数组? ~~~ // 返回布尔值 [1,2] instanceof Array // 返回布尔值 Array.isArray([1,2]) ~~~ <br> ## 下列代码打印什么? ~~~ alert(a) var a = 1 alert(b) // undefined 和 报错 ~~~ 浏览器解析js分两次 1. 找到var声明变量,赋值undefined 2. 真正执行代码 <br> ## Js里面有哪几个值在if判断的时候是false? False、0、“”、undefined、null、NaN <br> ## 下边的代码输出什么? ~~~ console.log("11"+1-"2") //109 ~~~ 字符串加任何数据都会拼接成变成字符串 <br> ## 下边的代码输出什么? ~~~ var a = {} a.val = 1 b = a b.val = 2 alert(a.val) // 2 ~~~ 引用类型内存里面存的是内存地址,这个内存地址指向真正的值,a和b都是那个内存地址,所以他们指向同一个对象,所以b修改属性val,a的也会修改 <br> ## 以下代码输出什么? ~~~ var flag = 2; flag > 1 || alert(1) // 不弹窗 flag < 1 || alert(2) // 弹窗输出2 flag > 1 && alert(3) // 弹窗输出3 flag < 1 && alert(4) // 不弹窗 ~~~ 或的话左边为true右边不执行,与的话左边为false,右边不执行 <br> ## "==" 和 "===" 有什么不同? 一个值判断,后一个是值和类型都判断 <br>