JS(面试中的变量类型和计算问题)
JS(变量类型和计算)
题目1.JS 中使用 typeof 能得到那些类型?
题目2.何时使用 === 何时使用==?
题目3.JS 中有哪些内置函数?
题目4.JS 变量按照存储方式区分为那些类型,描述其特点?
题目5.如何理解 JSON
一、变量类型(存储方式)
1.值类型
值类型是把值存储在具体的位置,a 存储100,a 赋值给 b ,则 b 存储100,将 a 的位置改为200,但 b 的位置仍存储100.
2.引用类型
引用类型中,将 a 赋值成对象,这个对象存在另一个地方,a 内存的位置通过一个指针指向这个地方。
第 2行,将 a 赋值给 b 时,实则是定义 a,然后 a 的指针指向 b,执行完1、2行后,a 和 b 同时指向 age:20 这个对象,当执行第3 行时,age 的值已经变为 21,a 也指向这个对象,所以其值也为 21。
引用类型:对象、数组、函数(特点:可以无限制添加属性,为了让属性共用内存空间,故使用“引用”方式)
题目4.JS 变量按照存储方式区分为那些类型,描述其特点?见上述
3.typeof 运算符
6种形式:1.undefined 2.string 3.number 4.boolean 5.object 6.function(函数)
( typeof 只能区分值类型的数据类型【前4行】,无法区分引用类型的数据类型)
题目1.JS 中使用 typeof 能得到那些类型?见上述
二、变量计算(强制类型转换)
1.字符串拼接
10 为数字,‘10’为字符串
2.== 运算符
== 会进行强制类型转换,有让前后相等的趋势
0 == ‘ ’ / null == undefined(会转换成 false)
题目2.何时使用 === 何时使用==?
=== 完全没有类型转换!除上述情况外,其余全部用 ===
3.if 语句
4.逻辑运算
1.将 10 转换成 true
2.将‘ ’转换成 false
3.window.abc 为 undefined ,经过 ! 变为 true
判断方法
题目3.JS 中有哪些内置函数?(数据封装类对象)
不考虑浏览器环境和运行环境,但就 JS 这个语言所内置的函数如图所示
题目5.如何理解 JSON
JSON 是一种数据格式 ,也是JS 内置对象,常用 API 如图所示
1.JSON.stringify 将对象转换成字符串
2.JOSN.parse 将字符串转换成对象