JavaScript数据类型有哪几种?
一共有五种:number、string、object、boolean、undefined.其中最后一个是定义变量后没有赋值
介绍隐式类型转换
字符串+数字=字符串;字符串-数字=数字;+数字字符串=数字
null 经过数字转换之后会变为 0
undefined 经过数字转换之后会变为 NaN
介绍显式类型转换
通过 `Number()` 显示转换成数值类型,当转换失败时结果为 `NaN`(Not a Number)
parseInt() 显式转换为整数,parseFloat() 显式转换为浮点数。
数字转换为字符型是String(),或者变量.toString(进制)
===和==的区别,!==和!=的区别?
===是数值与类型都比较,==只比较值是否相等。!==和!=依此类推
一个数组可以放不同类型的元素吗?
可以,例如:let mixin = [true, 1, false, 'hello']
介绍一些操作数组的函数?
push() 向数组尾部添加元素
unshift() 向数组头部添加元素
pop() 在数组尾部删除元素
shift() 在数组头部删除元素
splice() 动态删除或添加任意单元,参见MDN
介绍立即执行函数
形如(function(){})()的函数称为立即执行函数,可以防止变量污染
JS对象和JSON怎么转换?
对象转为JSON,使用JSON.stringify() 逆向转换使用JSON.parse()
获取对象属性的方式?
1.直接使用小圆点。2.使用[],中括号里面放对象的属性名,需要加双引号
声明数组的两种方式?
第一种:let array = [数据1,数据2,...];
第二种:let array = new Array(数据1,数据2,...);
函数参数默认值如何设置?
function fun_name(a = 0, b = 0),在没有给参数值的情况下,使用默认参数值
函数的参数存放在哪个变量里?实参的个数可以大于形参的个数吗?
实参的个数可以大于形参的个数,函数接收到的实参存放在内部对象Arguments里。
x = x || 0是什么意思?
如果x没有明确指定值,就采用默认值0
什么值转换为boolean是false?
‘’、0、undefined、null、false、NaN 转换为布尔值后都是false, 其余则为true
声明对象的两种方式?
let obj = {} 或者 let obj = new Object()
如何对对象的属性增删?
增:obj.newAttribute = newValue;
删:delete obj.attribute;
如何遍历对象
for(let key in obj){console.log(obj[k])}