1.判断数据类型
typeof 判断数据类型不准确 typeof []、typeof {}、typeof null都是转换成object
instanceof通过原型链判断,但是也不准确
function Func() {}
const func = new Func()
console.log(func instanceof Func) // true
const obj = {}
const arr = []
obj instanceof Object // true
arr instanceof Object // true
arr instanceof Array // true
const str = 'abc'
const str2 = new String('abc')
str instanceof String // false
str2 instanceof String // true
可以通过**Object.prototype.toString.call()
**来准确判断数据类型
var type = function(data) {
var toString = Object.prototype.toString;
var dataType = data instanceof Element
? 'element' // 为了统一DOM节点类型输出
: toString
.call(data)
.replace(/\[object\s(.+)\]/, ''$1')
.toLowerCase()
return dataType
};
2.function普通函数
function关键字 函数名(形参) {函数体:把一段相对独立的具有特定功能的有重复属性的代码块封装起来,形成一个独立体,方便后续开发中反复调用。} 调用:函数名(实参);
形参与实参之间的数据传递叫传参,形参和实参互相并不影响,其中实参具体参与运算
函数的return
在函数中return中的作用
1.函数返回值,终止函数的运行
在函数语句结束时执行,并返回表达式的值作为函数的结果;
2.return false
阻止提交表单或继续执行下面的的代码,通常来讲就会阻止执行默认行为
函数内部并没有返回值,默认返回undefined,只能通过return返回
3.数据解构Set
Set是一个构造函数,它类似于数组,但成员的值是唯一的。
let arr = [1,1,1,2,3,5];
let newarr = new Set(arr); //传参的值有重复,他会返回一个没有重复值的set结构值
let newArr = Array.from(newarr);// Array内置对象Array.from()方法可以将Set结构转换为数组
4.Sort()方法
Sort数组方法可以对0-9的数组进行正确的排序
let arr = [1,5,2,4]
arr.sort() // 返回值,返回值就是排序后的数组
无法正确排序双位数的数组,利用callback来返回正确的数组
arr.sort( function (a,b) { // a是数组前项,b是数组后项
// 如果callback返回的是正数,则b排在a前面,反正则a排在b前面
})