JS高级之工作中实用的小技巧

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前面
})

你可能感兴趣的:(数据类型,工作,新增语法,前端,es6,javascript,css3,typescript)