001、浅谈堆和栈的理解?
js变量存储有栈存储和堆存储,基本数据类型的变量存储在栈中,引用数据类型的变量存储在堆中 引用类型数据的地址也存在栈中
当访问基础类型变量时,直接从栈中取值。当访问引用类型变量时,先从栈中读取地址,在根据地址到堆中取出数据
002、js中的数据类型分为哪几类
基本数据类型:number string undefined null boolean
引用数据类型:Object
003、js中的强制类型转换与隐式类型转换
隐式类型转换:== != - * / % *= /= -= %=
强制类型转换:Number parseInt():取整转换 parseFloat()
004、 javascript三大部分组成
1、ECMAscript====》它是一种规范 造一架汽车------》发动机 js的一种规范
2、BOM :browser Object Model===> 浏览器对象模型
3、DOM : document===> 文档对象模型
005、undefined 和null的区别?先记住看不懂的会讲的
null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。
undefined:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
null:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
006、谈谈你对NaN的理解
a、Not a Number 不是一个数字
b、NaN仅仅代表不是一个数字,自身和自身都不相等(NaN != NaN)
c、如何判断NaN isNaN===>如果是NaN,返回true,否则返回false Number.isNaN( )
d、NaN的数据类型是number
007、说下i++与++i之间的区别
i++: 先使用,在加1
++i; 先加1,在使用
008、 javascript转换成false的值有哪些?
0 '' null undefined false
009、null 、 true false转换成数字的值都是多少
false如果转换成一个数字的话是0
true如果转换成一个数字的话就是1
null如果转换成一个数字的话就是0
010、javascript能够转换为true的值有哪些?
非0的数字 非空的字符串 true 非空的对象