js常用方法

文章发布于2021年03月11日 15:07, 归类于: 前端

js 判断值是否数组

let a = [1,'a',false]

1、Array.isArray()

用于确定传递的值是否是一个数组,返回一个布尔值,推荐使用

Array.isArray(a) // true

2、Object.prototype.toString.call()

获取到对象的不同类。

Object.prototype.toString.call(a) === '[object Array]' // true

3、instanceof

instanceof 运算符用于检验构造函数的 prototype 属性是否出现在对象的原型链中的任何位置,返回一个布尔值。

a instanceof Array // true

a instanceof Object // true

4、constructor

prototype 原型对象里的 constructor 指向构造函数本身,实例的构造函数属性 constructor 指向构造函数。

a.constructor === Array // true
// [Function: Array]

Object.hasOwnProperty()

Object 的 hasOwnProperty() 方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性。

function Person(name, fn){
    this.name = name;
	this.fn = fn
}

Person.prototype.sayName = function(){
    console.log(this.name);
}

var p1 = new Person('rojer',function(){
	console.log('fn...')
});

p1 // { name: 'rojer', fn: [Function] }

p1.hasOwnProperty('name') // true

p1.hasOwnProperty('fn') // true

p1.hasOwnProperty('sayName') // false

Object.defineProperty(obj, prop, descriptor)

obj,要定义属性的对象。 prop,要定义或修改的属性的名称或 Symbol 。 descriptor,要定义或修改的属性描述符。

descriptor 描述 configurable: false, 是否可以删除属性,是否可以修改属性的 writable 、 enumerable 、 configurable 属性。 enumerable: false, 是否可以枚举,是否可以通过 for...in 遍历到,是否可以通过 Object.keys() 方法获取属性名称 writable: false,是否可以对属性进行重新赋值 value: null, 属性的默认值 set: undefined,属性被赋值时,此方法被自动调用 get: undefined,属性被读取时,此方法被自动调用

let user = {
	name: 'rojer'
}

Object.defineProperty(user, 'color', {
	value: 'red', // 值
	enumerable: true // 可枚举
})

Object.defineProperty(user, 'age', {
	value: 3, // 值
	enumerable: false // 不可枚举
})

console.log(user) // { name: 'rojer', color: 'red' }
console.log(user.color) // red
console.log(user.age) // 3

for (let key in user) {
	console.log(`${key}${user[key]}`)
	// name:rojer
	// color:red
}

上面 for...in 遍历,age 没有打印。

Object.keys()

Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致 。

Object.keys(user)  // [ 'name', 'color' ]

Object.getOwnPropertyNames()

Object.getOwnPropertyNames() 方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。

Object.getOwnPropertyNames(user) // [ 'name', 'color', 'age' ]

转载请注明来源:《 js常用方法》- rojerYong's Blog

文章链接:https://www.eoway.cn/article/1615446431.html

如果此文摘取了你的原创,请联系本站管理员,将对此文修改、删除处理。

--END--
上一篇:uniapp app 跳转到微信小程序 下一篇:css 变量