js基本数据类型

js中基本数据类型
string number boolean object null undefined symbol bight
其中object包含Date、function、Array

null:表示"没有对象",即该处不应该有值
用法:
(1) 作为函数的参数,表示该函数的参数不是对象。

(2) 作为对象原型链的终点。

undefined:“缺少值”,就是此处应该有一个值,但是还没有定义
用法:
(1)变量被声明了,但没有赋值时,就等于undefined。

(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

(3)对象没有赋值的属性,该属性的值为undefined。

(4)函数没有返回值时,默认返回undefined。

symbol:ES6中使用了别人的对象,想在对象中加属性,保证属性名不重复

let a=symbol(‘clean’),symbol函数只是为了说明,没无其他作用

判断类型方法
typeof:其中null是object,Function()是function

let mysymbol=symbol('11');
let a={
[mysymbol]:'hello'
}
a[mysymbol] // 调用
Object.getOwnPropertySymbols() // 获取对象所有symbol属性
// 生成同样的symbol
let s1 = Symbol.for('foo');
let s2 = Symbol.for('foo');
s1===s2

判断数组方法
const p=[];
Array.isArray();
p instanceof Array
object.prototype.tostring.call()


function instance_of(L, R) { //L 表示左表达式,R 表示右表达式 
    var O = R.prototype; // 取 R 的显示原型 
    L = L.__proto__; // 取 L 的隐式原型
    while (true) {
        if (L === null) return false;
        if (O === L) // 当 O 显式原型 严格等于  L隐式原型 时,返回true
            L = L.__proto__;
    }
} 

数组扁平化实现

const flat = (arr,n)=> {
    let newArr = [];
    for (let i = 0; i < arr.length; i++) {
        if (Array.isArray(arr[i])&&n>=1) {
            newArr=newArr.concat(flat(arr[i],n-1));
        }
        else {
            newArr.push(arr[i]);

        }
    }
    return newArr;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值